JQuery得到的所有元素都不在下面

时间:2011-11-13 16:14:03

标签: jquery jquery-selectors

我遇到了一个问题:我想让所有类脏的元素都不在脏元素下面:)你可以猜测它用于刷新视口的内容。 我到目前为止:

$(".dirty").not(".dirty .dirty")

有更好的方法吗?

2 个答案:

答案 0 :(得分:2)

Afaik,这几乎是最好的方法。您可以使用:not selector [docs]

$(".dirty:not(.dirty .dirty)")

jQuery可以直接将此选择器传递给本机浏览器方法(如果可用)。

可能有其他方式,但不一定是"更好" (无论在这种情况下意味着什么)。

答案 1 :(得分:1)

最简单的方法是使用jQuery :not选择器。

在你的情况下:

$(".dirty:not(.dirty .dirty)").whatever();

Here's a jsFiddle

解释:not选择器:

  

:not(selector)选择器匹配每个不是的元素   指定的元素/选择器。

     

.not()方法最终会为您提供更多可读性   选择而不是将复杂的选择器或变量推送到:not()   选择器过滤器在大多数情况下,这是一个更好的选择。

     

用于过滤的选择器。

请查看W3Schools上的CSS3 :not选择器和jQuery page,以便更好地理解。