2014-10-06 45 views
2

我想淡出.wrapper2 div裏面的每個元素,其標題不是title =「webdesign」。 我試過這樣的東西某些div內的jQuery屬性選擇器

$('.wrapper2:not([title=webdesign])').fadeOut("slow"); 

我做錯了什麼?

編輯// 例如HTML

<div class="wrapper2"> 
      <div class="showImg" title="webdesign"> 
        <a href="#"><div class="overlay"> 
         <div class="contTxt"><span class="topTxt">Ward WP Theme</span><br><span class="topTxt2">Logotype, Webdesign</span></div> 
        </div></a> 
        <img src="http://lorempixel.com/g/400/300/city" alt="" /> 
      </div> 
      <div class="showImg"> 
        <a href="#"><div class="overlay"> 
         <div class="contTxt"><span class="topTxt">Ward WP Theme</span><br><span class="topTxt2">Logotype, Webdesign</span></div> 
        </div></a> 
        <img src="http://lorempixel.com/g/400/300/nightlife" alt="" /> 
      </div> 
</div> 

EDIT2 // 這個工作

$(".wrapper2 > [title!=webdesign]").fadeOut("slow") 

回答

0

您可以使用子選擇>得到的.wrapper2標題的孩子是不是網頁設計

$('.wrapper2 > :not([title=webdesign])').fadeOut("slow"); 
+0

這是它的一部分,在內部包裝器2中有子標題,例如標題。網頁設計,這些都有子div和元素。那些子分區也變得隱藏,我怎麼才能淡出.wrapper2的直接細分而不是它們的內容? – 2014-10-06 03:35:27

+0

你能發表一個html的例子嗎 – Musa 2014-10-06 03:37:01

+0

如果你想隱藏的所有div都是'.wrapper2'的孩子,也就是說它們都在下一級,那麼你可以使用children combinator。 – Musa 2014-10-06 03:42:16

0
$('.wrapper2:not([title=webdesign])') 

是返回對象的集合選擇。即使該集合只包含一個對象。 如果你確信只有一個對象,這樣做:

$('.wrapper2:not([title=webdesign])')[0].fadeOut("slow"); 

否則,使用each()

http://api.jquery.com/each/

此外,還要確保您的seector是正確的,因爲它是非常複雜的。您可以使用

console.log($('.wrapper2:not([title=webdesign])')); 

,以確保它返回你所需要的

+0

順便說一句,jquery文檔關於這個:not()選擇器說:.not()方法最終會提供更多可讀選擇,而不是將複雜選擇器或變量推送到:not()選擇器過濾器。在大多數情況下,這是一個更好的選擇。 – ztrange 2014-10-06 03:16:01