0

我有一个 jquery 移动站点,它具有从 postgres 生成的动态无序列表和 php 中的 while 命令。

页面准备好后,我如何浏览每个列表块并阅读其中的文本span class="status",如果它等于“D”,则class='edit_btn'在弹出菜单中隐藏相关内容。

我收集这可以在 jQuery 中完成吗?

请参阅我的示例,这将有助于解释我的问题。 http://jsfiddle.net/jamesil/wbcVy/1/

这是我到目前为止所做的,但相信我走错了方向

$('ul.bookings li').each(function() {
$(this).each(function(i) {
    var status = $('span.status',this).text();
    if (status = 'D') 
        $('ul.bookings ul li.edit_btn').hide();
});
4

1 回答 1

1

如果您修复了此小提琴中描述的无效 html 问题,您可以使用以下 jQuery 隐藏您的编辑按钮:

$('#bookings li').filter(function() {
    return $(this).find('span.status').text() == 'D';
}).find('div').each(function() {
    //this is the bit where you need to find the id from the comment inserted by mobile jquery
    var divId = '#' + this.innerHTML.replace(/[^0-9]+/g, '') + '-popup';
    $(divId).find('li.edit_btn').hide();
});

请注意,这将假设您的 li 中只有一个 div。你可能想给那个 div 一个类,这样你就可以在 find 上做一个更好的选择器,但我不确定 jQuery mobile 是否会删除这个类,因为它似乎已经删除了原始 ID

如果您无法更改您的 html 结构,那么只需.find.next

例子

于 2013-06-19T08:29:13.313 回答