在类之间检查是否存在类

时间:2011-11-26 15:35:17

标签: javascript jquery

我想检查课程.myclass2中是否有课程.myclass1警报确定但是在我的尝试中无效:

DEMO: http://jsfiddle.net/uyKvh/

<div class="myclass1">
    <div class="myclass2">1</div>
</div>
<div class="myclass1">
    <div class="myclass2">1</div>
</div>



if($(".myclass1:not(:has(.myclass2))")){
    alert('ok');
}

3 个答案:

答案 0 :(得分:1)

任何jquery选择器都返回一个对象,因此它总是计算为true。

使用长度检查结果是否已返回..

if( $(".myclass1:not(:has(.myclass2))").length ){
    alert('ok');
}

演示 http://jsfiddle.net/gaby/uyKvh/4/

答案 1 :(得分:1)

考虑一下:

if( $( '.myclass1:has(.myclass2)' ).length === 0 ) {
    alert( 'ok' );
}

因此,您查询包含.myclass1元素的所有.myclass2元素,如果没有,则执行代码(alert等)...

答案 2 :(得分:0)

你几乎拥有它:

if($(".myclass1:not(:has(.myclass2))").length){
}

演示:http://jsfiddle.net/uyKvh/6/