<div>
<p><a href="#">link</a> some text</p>
<p><a href="#">link</a></p>
<p><a href="#">link</a> some text</p>
<p><a href="#">link</a></p>
</div>
我想找到(addClass到)不包含文本,直接在自身或其子女<p>
標籤。查找(jQuery的)
<div>
<p><a href="#">link</a> some text</p>
<p><a href="#">link</a></p>
<p><a href="#">link</a> some text</p>
<p><a href="#">link</a></p>
</div>
我想找到(addClass到)不包含文本,直接在自身或其子女<p>
標籤。查找(jQuery的)
這工作得很好,我也得空文本你的段落之一進行測試:
var $eles = $('p').filter(function() {
return $(this).text().length == 0;
});
$eles.addClass("foo");
工作得很好,非常感謝! :) – 3zzy 2010-01-28 13:20:37
我想你有問題描述錯誤,作爲一個標籤總是包含了文本這個例子。
據我所知是沒有標準的選擇允許以檢查是否存在直接的內容,但你可以試試這個:
$('p').each(function(){
var p = $(this).clone();
p.children().remove();
if(p.text().length){
$(this).addClass('gotcha');
}
});
如果你希望只檢查段落內部應該工作。
您所描述的選擇器不會選擇上述任何段落,這是否正確? – Lazarus 2010-01-28 12:39:40
它會選擇僅包含鏈接的鏈接,而不包含包含「某些文本」的鏈接 – 3zzy 2010-01-28 12:42:09
但是,孩子們包含文本,並且您明確指出「不包含文本的標籤,直接位於其本身或其子級內部」。 – Lazarus 2010-01-28 12:45:16