选择不在另一个元素内的每个元素

Pir*_*zek 7 css jquery dom jquery-selectors

<img src="xxx" alt="xxx" title="xxx">
<div class="buttons">
    <a href="xxx"><img src="xxx" alt="xxx" title="xxx"></a>
</div>
Run Code Online (Sandbox Code Playgroud)

我需要编写一个jQuery选择器,它将仅选择具有标题属性的图像,这些属性在.buttons div之外.我知道要选择带有标题属性的图像,我需要使用以下内容:

$("img[title]")
Run Code Online (Sandbox Code Playgroud)

我知道jQuery中有类似:not()选择器,但我找不到将它们组合在一起以实现精确结果的方法.

Nic*_*ver 26

您可以获取结果集,然后使用它进行过滤.not(),如下所示:

$("img[title]").not(".buttons img")
Run Code Online (Sandbox Code Playgroud)

或使用相同的选择器进行过滤:not()(但在旧浏览器中可能会慢一点),如下所示:

$("img[title]:not(.buttons img)")
Run Code Online (Sandbox Code Playgroud)

  • 有没有办法在不重复原始选择器('img')的情况下完成它?我试图寻找不在`.container-to-exclude`内部的错误,错误可以是几个选择器,所以我用逗号分隔它们,比如`.Error,.Errors,.警告`,我不要我不想说'$('.错误,.错误,.警告').不('.容器到排除.错误,.container-to-exclude .Errors,.container-to-exclude.警告")`. (3认同)