在 jQuery 中,如何过滤包含特定类的所有内容?
HTML:
<div class='item 10'>10</div>
<div class='item 20'>20</div>
<div class='item 30'>30</div>
<div class='item 40'>40</div>
<div class='not-an-item 50'>50</div>
我尝试过:
var classList = $(".item").attr('class').split(/\s+/);
if(classList[1] == '10' || lassList[1] == '30'){
$(".item").hide();
}
正确输出:
<div class='item 20'>20</div>
<div class='item 40'>40</div>
<div class='not-an-item 50'>50</div>
最佳答案
您可以使用.has()
方法或 .not()
减少元素集的方法。使用 .has()
可以保留与特定选择器匹配的所有元素,而 .not()
则保留与选择器不匹配的所有元素。
要进行更高级的过滤,您可以使用 .filter()
方法。
如果我正确理解您的问题,您可以将 .filter()
与过滤功能一起使用。像这样的事情:
$(".item").filter(function() {
return !($(this).hasClass("10") || $(this).hasClass("30"));
}).hide();
关于包含特定值的 jQuery 过滤器类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12129345/