jquery高级选择器结构

时间:2014-09-24 12:09:32

标签: jquery jquery-selectors

我是使用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仍然没有。

我想知道组合选择器是什么和高级方式(如果有的话)。

1 个答案:

答案 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;
});