Jquery检查一个div(几个具有相同类的div)是否包含一个带有类的div

时间:2014-07-09 09:43:28

标签: php jquery html5

我有三个带有UserDetail类的div。如果div不包含div.info,则必须隐藏div.UserDetail

评论更新:

我试过这个:

var childInfo=$('div.UserDetail').find("div.info").size(); 
if(childInfo==0) $('div.UserDetail').hide(); 

这不起作用,因为所有div都包含相同的类名,而其他两个div都有子div class=info

4 个答案:

答案 0 :(得分:1)

:has:not选择器一起使用:

JSFiddle:http://jsfiddle.net/TrueBlueAussie/5pbap/

$('.UserDetail:not(:has(.info))').hide()

或完整(如果你关心div):http://jsfiddle.net/TrueBlueAussie/5pbap/1/

$('div.UserDetail:not(:has(div.info))').hide()

答案 1 :(得分:1)

我认为这可能有效

$.each($('div.UserDetail'), function(i, value){
     if($(value).find('div.info').length == 0)  
        {
          $(value).hide();            
        }
});

答案 2 :(得分:0)

jsFiddle

HTML

<div class="userDetails">1</div>
<div class="userDetails">2<div class="info"></div></div>
<div class="userDetails">3</div>

JS

$.each( $( "div.userDetails" ), function( i, div ) {
    if ( $( div ).find( "div.info" ).length == 0 ) {
        $( div ).hide();
    }
} );

答案 3 :(得分:-1)

$(".UserDetail").each(function (index) {
        if ( $(this).find('div.info').length < 0) {
            $(this).hide();
        }
    });