2013-08-01 54 views
0

假設這是DOM:jQuery選擇在特定的父母身體不計特殊項目的所有項目

<body> 
    <h1>Hello World</h1> 
    <div class="tooltip"> 
     <div class="tooltip-hd"> 
     This is a Tooltip for header. 
     </div> 
     <div class="tooltip-bd"> 
     Some more info about header 
     </div> 
    </div> 

    <div class="container"> 
     <h2>Subheading</h2> 
     <div class="tooltip"> 
     <div class="tooltip-hd"> 
      This is a Tooltip for header. 
     </div> 
     <div class="tooltip-bd"> 
      Some more info about header 
     </div> 
     </div> 

     <p>Contents inside subheading</p> 
    </div> 

</body> 

我要選擇體內所有的孩子,下的階級「提示」

不包括兒童$(「body」)。find(「*」)。not(「。tooltip」)會選擇項目

+1

你想'.tooltip'元素本身? – BoltClock

+0

這聽起來像是一個問題的不好解決方案。你爲什麼需要這個? –

+0

工具提示父級不是必需的。但會很好奇,知道我是否也可以跳過。 – Alagu

回答

1

我不確定你爲什麼想這樣做,但以下方法可行我認爲它不能很好地表現出身體的一切):

var items = $('body').find('*').filter(function() { 
    return !$(this).is('.tooltip') && !$(this).closest('.tooltip').length; 
}).get(); 

這樣就可以排除它們具有類.tooltip的所有元素,並具有與類.tooltip祖先的所有元素,所以你會用下列最終:

h1, div.container, h2, p