[英]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;});
編輯:修改了演示,以包括有效的HTML(取代<div>
與<span>
第二內側<p>
$( 'P:有(一)')
會做的。
更新
font
標記的問題可以修復如下:
$('a').parent('p')
更新2
好吧廢棄所有這些。 根據評論:has()
過濾器不只是看直接子項。 因此,如何我們走另一條路,選擇所有a
標簽,然后選擇那些母公司如果母公司是p
。
$('a').parent('p')
或避免選擇所有的a
標簽,你可以做
$('p:has(> a)')
又一次更新
感謝@BoltClock提出這個建議。 以下語法也有效:
$('p:has(> a)')
它很簡單:
$("div p:first-child")
您可能要考慮申請一個 id
或class
的div
的DOM遍歷限制為僅相關div
和p
塊。
這個答案或多或少都是一樣的 ,只是尋找最后一個孩子。
更新對不起,誤讀了'第一個p標簽'位。
嘗試這個:
$("div p:has(a)")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.