<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>
标记,直接在它本身或它的子标记内部。
发布于 2010-01-28 20:43:31
这很好用,我确实需要清空你其中一个段落的文本来测试:
var $eles = $('p').filter(function() {
return $(this).text().length == 0;
});
$eles.addClass("foo");
发布于 2010-01-28 20:47:46
我想您在问题描述中有一个错误,因为在示例中a标记总是包含文本。
据我所知,没有标准的选择器允许检查是否有直接内容,但你可以尝试这样做:
$('p').each(function(){
var p = $(this).clone();
p.children().remove();
if(p.text().length){
$(this).addClass('gotcha');
}
});
如果您希望只检查段落内部,则应该可以工作。
https://stackoverflow.com/questions/2154483
复制相似问题