如何测试div是否包含另一个div

时间:2012-03-28 19:15:39

标签: jquery hide

<div class="contact-area">
  <div class="media-contact">name, email etc goes here...</div>
</div>

我需要检查div联系人区域是否有div媒体联系人,如果没有,则隐藏联系人区域,因为它有彩色背景,我不希望有一个空的彩色背景。

这不起作用。请帮助。

$('.contact-area').each(function() {
    var ContactAreaEmpty= $('.contact-area:not(:has(.media-contact)');
    ContactAreaEmpty.hide();

5 个答案:

答案 0 :(得分:2)

这样的事情:

$('.contact-area').not(':has(.media-contact)').hide();​

<强> DEMO

答案 1 :(得分:0)

$( '.contact-area' ).each( 
    function( i,t ){
        !$( '.media-contact', t ).length && $( t ).hide();
    }
);

http://jsperf.com/stackoverflow-test999所有那些速度仇恨的人

答案 2 :(得分:0)

$('.contact-area').each(function(){
    if($(this).has('.media-contact').length == 0){  
        $(this).hide();
    }
});

答案 3 :(得分:-1)

这正是你所问的。 find返回所有找到的元素的数组。所以,如果数组是空的,请联系aint!

var mediaContact = $('.contact-area').find(".media-contact");

if (mediaContact.length <= 0) {
    $('.contact-area').hide();
}

答案 4 :(得分:-1)

if($('.contact-area').children().length > 0)
相关问题