JQuery Selector不是“包装”元素

时间:2012-08-12 18:27:58

标签: jquery jquery-selectors

我正在寻找一个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是“包装”的。

感谢您的帮助

3 个答案:

答案 0 :(得分:3)

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

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

//Will remove the image with id="2"

答案 1 :(得分:1)

您可以使用filter方法:

var $imgs = $('img').filter(function(){
               return $(this).closest('.dontSelect, .special').length === 0
           })

答案 2 :(得分:0)

尝试:

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

甚至

 $('*:not(.dontSelect, .special) img')
相关问题