3

我正在寻找一个 JQuery 选择器,它选择所有没有被特定 div 包装的 img 元素(使用 .special 或 .dontSelect 类)

例如我的html代码:

<div class="special">
    <ul>
        <li>
             <img id="1"></img>
        </li>
    </ul>
</div>
<div>
    ....
          <img id="2"></img>
    ....
          <div class="dontSelect">
              <img id="3"></img>
          </div>
</div>

在这个例子中,只有 id 为 2 的 img 应该被选中,因为 1 和 3 被“包装”了。

感谢帮助

4

3 回答 3

4

没有选择器,但您可以选择所有图像并过滤它们:

$("img").filter( function(){
    return !$(this).closest(".special,.dontSelect").length
}).remove();

//Will remove the image with id="2"
于 2012-08-12T18:32:52.430 回答
1

您可以使用以下filter方法:

var $imgs = $('img').filter(function(){
               return $(this).closest('.dontSelect, .special').length === 0
           })
于 2012-08-12T18:32:31.717 回答
0

尝试:

 $('*:not(.dontSelect), *:not(.special)').find('img')

甚至

 $('*:not(.dontSelect, .special) img')
于 2012-08-12T18:37:00.667 回答