2017-10-05 56 views
0

要溫柔,仍然學習,但是我的代碼有什麼問題,我需要查看每個容器div,看看某個div是否爲空,並刪除鏈接/按鈕。jQuery - 隱藏按鈕/鏈接,如果div是空的

$('.eventText').each(function() { 
if($('.exPanel').is(':empty')) { 
     $('a.eventLink').hide(); 
    } 
}); 

FIDDLE

任何幫助,將不勝感激。

感謝

回答

0

有一對夫婦在這裏考慮的......

首先是一個元素不是:empty如果它包含在某些瀏覽器換行符,所以你可能想看看裏面。

我也使用上下文來查找當前匹配中的元素,而不是查找所有元素。

$('.eventText').each(function() { 
    console.log($('.exPanel', this)); 

    if(!$.trim($('.exPanel', this).html())) { 
     $('a.eventLink', this).hide(); 
    } 
}); 
+0

感謝您的幫助,這真是棒極了。 – webmonkey237

0

在您的代碼中,.exPanel不爲空。你應該添加更多的代碼使用jQuery的trim()

if ($.trim($('.exPanel').html().length) < 1) { 
    $('a.eventLink').hide(); 
} 

if (!$.trim($('.exPanel').html().length)) { 
    $('a.eventLink').hide(); 
} 
0

您可以使用此

if ($('.exPanel').children().length < 1) { 
    // do something 
} 

children()函數返回一個包含孩子一個jQuery對象修剪空白。所以你只需要檢查尺寸,看看它是否少於一個孩子,等於沒有孩子

0

試試這個

$('.eventText .exPanel').each(function(){ 
    if (!$(this).text().trim().length) { 
    $(this).siblings('a.eventLink').hide(); 
    } 
});