0

我有以下内容:

<div class="main">
   <div class="sub"></div>
</div>

<div class="main">
   <div class="sub"></div>
</div>

<div class="main">
   <div class="another"></div> <!-- Attention: This div does not have .sub -->
</div>

<div class="main">
   <div class="sub"></div>
</div>

如何检查有一个不包含 div.sub 的 div.main?

我下面的代码似乎只检查第一个 div.main

if ($('.main .sub')[0]) {
    console.log('All div.main contain div.sub');
}
else {
    console.log('Some div.main which does not contain div.sub');
}
4

2 回答 2

3

你可以

if($('.main:not(:has(.sub))').length == 0){
    console.log('all contains sub')
}

演示:小提琴

于 2013-08-01T10:26:21.793 回答
1
$('.main').each(function() {
    if ($(this).children('.sub').length > 0) {
         console.log("yes");
    } else {
         console.log("no");
    }
});
于 2013-08-01T10:27:52.880 回答