如果div包含某个元素,但似乎无法触发条件,我将尝试做某事。这是我最好的镜头。
<div class='test'>
testing123
</div>
<div class='test'>
<p>testing456</p>
</div>
$('.test').each(function(){
if(!$(this).has('p')) {
$(this).addClass('red');
}
});
该脚本仅针对所有内容。
这是一个现场 fiddle -http://jsbin.com/igoyuk/edit#javascript,html,live
最佳答案
请注意,.has() 返回jQuery ,而不是 bool 值!
进行if(!$(this).has('p'))
总是正确的,因为jQuery总是返回一个集合,即使它是空的也是如此!.has()
基本上会过滤被调用的集合,因此您只需要执行以下操作:
$('.test').has('p').addClass('red');
关于jquery - 测试div是否没有元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9214149/