我是使用jquery的新手,我需要有关高级jquery选择器的帮助。
我需要选择所有h2,h3和span标签,但不要选择那些具有类 foo 的div的后代。我发现的最好的是:
$("h2, h3, span").not("div.foo h2, div.foo h3, div.foo span")
我想我不需要说我不喜欢它。我猜我也可以用
$("h2, h3, span").not("div.foo *")
但是这限制了我用它操纵的可能性,例如,即使在所述div中也允许选择h3,而h2仍然没有。
我想知道组合选择器是什么和高级方式(如果有的话)。
答案 0 :(得分:0)
为什么我们不应该使用它。 $("div:not(.foo),div:not(:has(.foo))").find("h2,h3,span")
如何在此上下文中使用.filter()
回调?
$("h2, h3, span").filter(function(){
return $(this).parents('.foo').length == 0;
});