2012-08-12 55 views
3

我正在尋找一個jQuery選擇哪個選擇哪個不是由特定的div包裹所有IMG元素(帶班。特別或.dontSelect)jQuery選擇不「包裝」元素

例如我的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是「包裹」的。

感謝您的幫助

回答

1

可以使用filter方法:

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

感謝這個工作:) – 2012-08-12 18:37:54

+0

@Evil_skunk歡迎您:) – undefined 2012-08-12 18:38:39

3

沒有選擇爲,但你可以選擇所有的圖像,並將其篩選:

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

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

感謝這個工作太:) – 2012-08-12 18:38:41

0

嘗試:

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

甚至

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