包含内容的所有div的每个函数

时间:2013-08-04 10:50:22

标签: jquery

我有多个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。

请帮帮我。

问候。

5 个答案:

答案 0 :(得分:2)

试试这个:

    $('.error').each(function(index){
      var content = $(this).text();
      if(typeof content != 'undefined' && content!=''){
        //your code
      }
    });

DEMO

在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
});

选中此http://jsfiddle.net/tDwwg/

答案 3 :(得分:1)

$('div.error:not(:empty)'),会为您提供元素

答案 4 :(得分:1)

为提高效率,请使用.not()排除:empty元素:

$('.error').not(':empty').each(...)