我有三个带有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
答案 0 :(得分:1)
将:has
与:not
选择器一起使用:
$('.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)
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();
}
});