我有一个jquery移动网站,它有一个动态的无序列表,它是从php中的postgres和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();
});
答案 0 :(得分:1)
如果按照this fiddle中的说明修复了无效的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();
});
请注意,这将假设你的李只有一个div。你可能想给这个div一个类,这样你就可以在find上做一个更好的选择器,但我不确定jQuery mobile是否会删除该类,因为它似乎删除了原始ID
如果您无法更改html结构,只需将.find
更改为.next