2

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

4

5 回答 5

2

试试这个:

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

演示

在 jsfiddle 演示中,yiu 可以在控制台中看到 div 中不为空的打印内容

于 2013-08-04T10:53:17.657 回答
2

试试这个:

$('.error').filter(function() {
    return $(this).html() != '';
});

each例子:

$('.error').filter(function() {
    return $(this).html() != '';
}).each(function(index, value) {
    console.log($(value).html());
});

jsFiddle

于 2013-08-04T10:59:37.703 回答
2

您可以简单地使用 :not 和 :empty 过滤掉空白 div,如下所示

$('.error:not(.error:empty)').each(function(){
  // Your code goes over here
});

检查这个http://jsfiddle.net/tDwwg/

于 2013-08-04T11:13:40.900 回答
1

$('div.error:not(:empty)'),会给你元素

于 2013-08-04T11:11:25.053 回答
1

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

$('.error').not(':empty').each(...)
于 2013-08-04T11:20:02.820 回答