要溫柔,仍然學習,但是我的代碼有什麼問題,我需要查看每個容器div,看看某個div是否爲空,並刪除鏈接/按鈕。jQuery - 隱藏按鈕/鏈接,如果div是空的
$('.eventText').each(function() {
if($('.exPanel').is(':empty')) {
$('a.eventLink').hide();
}
});
任何幫助,將不勝感激。
感謝
要溫柔,仍然學習,但是我的代碼有什麼問題,我需要查看每個容器div,看看某個div是否爲空,並刪除鏈接/按鈕。jQuery - 隱藏按鈕/鏈接,如果div是空的
$('.eventText').each(function() {
if($('.exPanel').is(':empty')) {
$('a.eventLink').hide();
}
});
任何幫助,將不勝感激。
感謝
有一對夫婦在這裏考慮的......
首先是一個元素不是:empty
如果它包含在某些瀏覽器換行符,所以你可能想看看裏面。
我也使用上下文來查找當前匹配中的元素,而不是查找所有元素。
$('.eventText').each(function() {
console.log($('.exPanel', this));
if(!$.trim($('.exPanel', this).html())) {
$('a.eventLink', this).hide();
}
});
在您的代碼中,.exPanel
不爲空。你應該添加更多的代碼使用jQuery的trim()
if ($.trim($('.exPanel').html().length) < 1) {
$('a.eventLink').hide();
}
或
if (!$.trim($('.exPanel').html().length)) {
$('a.eventLink').hide();
}
您可以使用此
if ($('.exPanel').children().length < 1) {
// do something
}
的children()
函數返回一個包含孩子一個jQuery對象修剪空白。所以你只需要檢查尺寸,看看它是否少於一個孩子,等於沒有孩子。
試試這個
$('.eventText .exPanel').each(function(){
if (!$(this).text().trim().length) {
$(this).siblings('a.eventLink').hide();
}
});
感謝您的幫助,這真是棒極了。 – webmonkey237