26
<div class="test">
 <div class="example"></div>
</div>

<div class="test">
</div>

testクラスの子要素が含まれていない場合にのみ、クラスの要素にjQueryを適用するにはどうすればよいexampleですか?

4

8 に答える 8

46
$('.test:not(:has(.example))')

-また-

$('.test').not(':has(.example)')
于 2012-04-16T03:24:31.033 に答える
5

もしかして

$('.test').filter(function() { return !$(this).children('.example').length; });

これにより、一致する子を持つすべての要素が除外されます.example。(子だけでなく) 子孫に基づいてフィルタリングする場合は.find.children.

于 2012-04-16T03:09:25.577 に答える
3
$(':not(.test:has(.example))').css('color', 'red');​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

http://jsfiddle.net/9fkz7y1g/

于 2012-04-16T03:19:33.753 に答える
2

filterこの問題は、すべてのオブジェクトを検索し、.testフィルタリング時にオブジェクトに含まれていないオブジェクトのみを保持する関数に対しては既成のようです.example

$(".test").filter(function() {
    return($(this).find(".example").length == 0);
});
于 2012-04-16T04:35:25.933 に答える
2

jQuery contains():

jQuery.contains(document.documentElement, document.body); // true
jQuery.contains(document.body, document.documentElement); // false
于 2012-04-16T03:08:50.320 に答える
1

「.example」でメソッドchildrenを使用し、それが空かどうかをテストできます

于 2012-04-16T03:07:17.740 に答える
1
 $('.test').each(function() {
    if(!$(this).children().hasClass("example")){
       //your code
    }
}); 

もしかしてこんな?私はこれをテストしていません...

于 2012-04-16T03:17:07.723 に答える