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

Jquery 如何测试一个div是否包含另一个div,jquery,hide,Jquery,Hide,这确实符合你的要求。find返回所有找到的元素的数组。因此,如果阵列是空的,那么请联系MediaNT $('.contact-area').each(function() { var ContactAreaEmpty= $('.contact-area:not(:has(.media-contact)'); ContactAreaEmpty.hide(); var mediascontact=$('.contact-area')。查找(“.media-contact”); 如果

这确实符合你的要求。find返回所有找到的元素的数组。因此,如果阵列是空的,那么请联系MediaNT

$('.contact-area').each(function() {
    var ContactAreaEmpty= $('.contact-area:not(:has(.media-contact)');
    ContactAreaEmpty.hide();
var mediascontact=$('.contact-area')。查找(“.media-contact”);
如果(mediaContact.length
对于那些讨厌速度的人来说

就像这样:

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

这将隐藏所有带有class
接触区的元素
,如果发现其中一个元素没有class
媒体联系人的子元素
。@BryanDowning。你可能想对Adam的答案发表评论。因为这一个会将@BryanDowning短路评估结果隐藏起来,它只会隐藏el带有class
联系人区域的元素
如果没有子元素带有class
媒体联系人
。如果将
$('.contact area')更改为
$(t).hide(),您就快到了@samccone!了
那么你就有了一个非常低效但功能强大的单行程序。与samccone最初的答案相同的问题-这将只隐藏带有class
联系人区域的元素,如果没有一个元素具有class
媒体联系人的子元素的话。
@Bryan Downing。没错,这不是一个通用的答案,这是一个快速解决Anjana问题的答案,确实如此。。。假设页面上只有一个元素的类为
联系人区域
,这是短视的。我并不是想在这里胡闹,只是说为在一种情况下解决一个问题而编写的代码通常会导致比它解决的问题更多的问题。如果元素是
,则联系人区域
,而不是
。联系人区域
,则此解决方案将具有优点。
$( '.contact-area' ).each( 
    function( i,t ){
        !$( '.media-contact', t ).length && $( t ).hide();
    }
);
if($('.contact-area').children().length > 0)
$('.contact-area').not(':has(.media-contact)').hide();​
$('.contact-area').each(function(){
    if($(this).has('.media-contact').length == 0){  
        $(this).hide();
    }
});