尝试删除不包含特定类的表中的所有行,但每行包含至少2个类
<tbody id='orderlist'>
<tr class='big selected'><td></td></tr>
<tr class='big'><td></td></tr>
</tbody>
$('#orderlist').not('.selected').fadeOut('slow',function(){
$(this).remove();
});
我希望能够删除任何不包含首先选择的类的行,方法是将其淡出视图。
答案 0 :(得分:2)
.not('.selected')
的链式选择器正在尝试对$('#orderlist')
选择的元素(将是tbody
本身)进行操作,而不是对子项(行)进行操作。尝试这样的操作(将tr
添加到orderlist
选择器以获取tbody
的子行:
$('#orderlist tr').not('.selected').fadeOut('slow',function(){
$(this).remove();
});
答案 1 :(得分:0)
您可以使用filter()并应用条件来过滤掉所需的元素集。
$('#orderlist tr').filter(function(){
if(!$(this).hasClass('selected') && this.className.split(' ').length == 2)
return $(this);
}).fadeOut('slow').remove();
答案 2 :(得分:0)
试试这个:
$('#orderlist .big').not('.selected').fadeOut('slow',function(){
$(this).remove();
});
答案 3 :(得分:0)
使用.children()
:http://jsfiddle.net/UpHcu/
$('#orderlist').children().not('.selected').fadeOut('slow', function () {
this.remove();
});