如果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/

10-11 23:56
查看更多