我有多个div,如下所示;
<div class="error"></div>
<div class="error">foo</div>
<div class="error">bar</div>
<div class="error"></div>
<div class="error">ABC</div>
正如您在上面所看到的,有些div有内容,有些则没有。我需要为每个函数选择所有具有jQuery内容的div。
请帮帮我。
问候。
答案 0 :(得分:2)
试试这个:
$('.error').each(function(index){
var content = $(this).text();
if(typeof content != 'undefined' && content!=''){
//your code
}
});
在jsfiddle演示中,您可以在控制台中看到div中非空的打印内容
答案 1 :(得分:2)
试试这个:
$('.error').filter(function() {
return $(this).html() != '';
});
each
示例:
$('.error').filter(function() {
return $(this).html() != '';
}).each(function(index, value) {
console.log($(value).html());
});
<强> jsFiddle 强>
答案 2 :(得分:2)
你可以简单地使用:not和:empty来过滤掉空格div,如下所示
$('.error:not(.error:empty)').each(function(){
// Your code goes over here
});
答案 3 :(得分:1)
$('div.error:not(:empty)')
,会为您提供元素
答案 4 :(得分:1)
为提高效率,请使用.not()
排除:empty
元素:
$('.error').not(':empty').each(...)