2013-03-04 58 views
0

我想弄清楚如何找到不在特定父項內的元素。下面是一個簡單的html:查找不在特定父項內的元素

<div class="id01"> 
<p>some text</p> 
</div> 

<p>some more text</p> 

<p>some more more text</p> 

好了,現在我需要找到一個第一款不是父#ID01內,這是我在哪裏迷路。我開始那樣做

$('p:first').text(); //this way i would get the P inside DIV but I want to skip that one and count on next one that has no parent #01 

希望我清楚。

+0

[api.jquery.com/category/selectors/ ](http://api.jquery.com/category/selectors/)。所有你需要知道的jQuery選擇器。 – adamb 2013-03-04 16:54:56

+0

命名一個類「id01」有點令人不安。 – 2013-03-04 16:56:37

+0

只是一個樣本,srry – devjs11 2013-03-04 16:56:57

回答

2

解決方案1:

$('p').not('.id01 *').eq(0) 

解決方案2:

$('p').filter(function(){ return $(this).closest('.id01').length==0 }).eq(0) 
+0

HTML似乎打電話給爲'.id01',但問題的文本要求'#id01'。我讓你選擇你需要的東西。 – 2013-03-04 17:00:56

0

使用情商()爲<p>

console.log($('p').eq(1).text()); //some more text 
console.log($('p').eq(2).text()); //some more more text 
1

很簡單的方式指數,由adamb這一切的建議東西是在jQuery網站上,但這裏

$("p:first").not($(".id01 p")); 

應該給你你想要的。

4

您可以輕鬆使用:not()選擇器,並與:first結合使用。

$("p:not(.id01 p):first").text() 

JSFiddle

+0

這真的很好,但它確實檢測到第一段?我的意思是沒有:首先選擇它是否仍然檢測到第一個? – devjs11 2013-03-04 17:11:39

+0

不,你是對的 - 更新我的答案。 – MarcoK 2013-03-04 17:55:33

1

您可以使用的.next()選擇

$( 「div.id01」)。接下來( 'P')

+0

這並不能回答一般問題。 – andr 2013-03-04 17:29:29

相關問題