遍历 Divs 并检查子 Div 是否有内容
Loop Through Divs and Check If Child Div Has Content
我正在寻找遍历 divs,检查每个内容是否在其特定子项 div 中,如果有,请将 class 添加到 div .
$('.img-banner').each(function( index, element ) {
if ( $(element).find('.img-banner-content').length > 0 ) {
$(element).addClass("has-content");
}
});
我在这里遗漏了一些简单的东西,可以摇一摇。问题是它将 class "has-content" 添加到所有 divs.
减少测试用例:JSFiddle
谢谢大家
您需要实际检查 div 中是否有文本。
$(this).find('.img-banner-content').length
将始终 return 为真,因为它实际上并不检查 dom 节点是否有任何 innerHTML
,只是 dom-ref 是否存在.
所以替换:
if ( $(this).find('.img-banner-content').length > 0 )
有:
if ( $(element).find('.img-banner-content').text().length > 0 )
放在一起:
$(document).ready(function () {
$('.img-banner').each(function( index, element ) {
if ( $(element).find('.img-banner-content').text().length > 0 ) {
$(element).addClass("has-content");
}
});
});
我正在寻找遍历 divs,检查每个内容是否在其特定子项 div 中,如果有,请将 class 添加到 div .
$('.img-banner').each(function( index, element ) {
if ( $(element).find('.img-banner-content').length > 0 ) {
$(element).addClass("has-content");
}
});
我在这里遗漏了一些简单的东西,可以摇一摇。问题是它将 class "has-content" 添加到所有 divs.
减少测试用例:JSFiddle
谢谢大家
您需要实际检查 div 中是否有文本。
$(this).find('.img-banner-content').length
将始终 return 为真,因为它实际上并不检查 dom 节点是否有任何 innerHTML
,只是 dom-ref 是否存在.
所以替换:
if ( $(this).find('.img-banner-content').length > 0 )
有:
if ( $(element).find('.img-banner-content').text().length > 0 )
放在一起:
$(document).ready(function () {
$('.img-banner').each(function( index, element ) {
if ( $(element).find('.img-banner-content').text().length > 0 ) {
$(element).addClass("has-content");
}
});
});