簡體   English   中英

jQuery用於選擇具有特定直接子項的標簽

[英]jQuery for selecting tags that have a certain immediate child

如何使用jQuery選擇至少有一個標簽作為直接子項的所有p標簽?

對於文件:

<div>
    <p><a>My Link</a></p>
    <p><div><a>My nested Link</a></div></p>
</div>

它只返回第一個p標簽。

我想你可能不得不使用.filter()來做這件事。 以下代碼應該滿足您的需求:

$('p').filter(function() { return $(this).children('a').length > 0;});

jsFiddle演示

編輯:修改了演示,以包括有效的HTML(取代<div><span>第二內側<p>

$( 'P:有(一)')

會做的。

http://jsfiddle.net/xKc8T/

更新

font標記的問題可以修復如下:

$('a').parent('p')

http://jsfiddle.net/xKc8T/1/

更新2

好吧廢棄所有這些。 根據評論:has()過濾器不只是看直接子項。 因此,如何我們走另一條路,選擇所有a標簽,然后選擇那些母公司如果母公司是p

 $('a').parent('p') 

或避免選擇所有的a標簽,你可以做

$('p:has(> a)')

http://jsfiddle.net/xKc8T/3/

又一次更新

感謝@BoltClock提出這個建議。 以下語法也有效:

 $('p:has(> a)') 

http://jsfiddle.net/xKc8T/4/

它很簡單:

 $("div p:first-child") 

您可能要考慮申請一個idclassdiv的DOM遍歷限制為僅相關divp塊。

這個答案或多或少都是一樣的 ,只是尋找最后一個孩子。

更新對不起,誤讀了'第一個p標簽'位。

嘗試這個:

 $("div p:has(a)") 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM