2013-03-22 128 views
0

我有一些HTML是簡化這個樣子的:jQuery選擇器獲取元素沒有特定的兄弟?

<tr> 
    <td><input/><span></span><i></i></td> 
</tr> 
<tr> 
    <td><input/><span></span><i></i></td> 
</tr> 
    <td><input/><span></span></td> 
<tr> 
    <td><input/><span></span><i></td> 
</tr> 

我想所有沒有一個我的兄弟姐妹的跨度。

據jQuery的文檔:

$("div ~ p") 

將匹配是一個div元素的兄弟姐妹,所有的p元素。

我看不出有什麼辦法重寫這個來獲取元素不是有一定的兄弟姐妹。

這可能與一個選擇器?

感謝所有幫助

編輯:

這裏是一個的jsfiddle來說明:http://jsfiddle.net/J6UnY/

+0

你試過像' div:not(div〜p)'你試過了什麼? – Popnoodles 2013-03-22 14:30:23

+1

你真的沒有'div'。你有嘗試過使用'兄弟()'jQuery選項 – 2013-03-22 14:31:27

+1

你甚至嘗試過搜索這個嗎?像http://stackoverflow.com/questions/11061594/get-all-elements-without-child-node-in-jquery和http://stackoverflow.com/questions/14482707/jquery-selector-for-an- element-missing-a-child-element有你需要的一切。 – willvv 2013-03-22 14:32:44

回答

1

像這樣的東西應該讓你有:

$('td:not(:has(i))').children('span'); 
+0

抱歉的編輯。咖啡尚未完全投入使用。 – isherwood 2013-03-22 14:39:13

+0

是的,它會做到這一點。謝謝! – Chris 2013-03-22 14:44:39