我遇到了一个问题:我想让所有类脏的元素都不在脏元素下面:)你可以猜测它用于刷新视口的内容。 我到目前为止:
$(".dirty").not(".dirty .dirty")
有更好的方法吗?
答案 0 :(得分:2)
Afaik,这几乎是最好的方法。您可以使用:not
selector [docs]:
$(".dirty:not(.dirty .dirty)")
jQuery可以直接将此选择器传递给本机浏览器方法(如果可用)。
可能有其他方式,但不一定是"更好" (无论在这种情况下意味着什么)。
答案 1 :(得分:1)
最简单的方法是使用jQuery :not
选择器。
在你的情况下:
$(".dirty:not(.dirty .dirty)").whatever();
解释:not
选择器:
:not(selector)选择器匹配每个不是的元素 指定的元素/选择器。
.not()方法最终会为您提供更多可读性 选择而不是将复杂的选择器或变量推送到:not() 选择器过滤器在大多数情况下,这是一个更好的选择。
用于过滤的选择器。
请查看W3Schools上的CSS3 :not
选择器和jQuery page,以便更好地理解。