样式属性为空的tr计数

时间:2013-03-15 07:21:19

标签: javascript jquery

这是我的HTML

<table id="tbl1">
  <tbody >
         <tr class="hide_grid_header"></tr>
         <tr style="display: none;"></tr>
         <tr style="display: none;"></tr>
          <tr ></tr>
         <tr style=""></tr>
         <tr ></tr>
         <tr style=""></tr>
         <tr ></tr>
       <tr style="display: none;"></tr>
  </tbody>
</table>

从这个,我想要没有样式属性的tr或者style =“” 属性。

我正在使用下面的代码,但它给我的数字是8而不是5。

 var docs = jQuery("#tbl").find('tbody').find('tr:visible');
alert(docs.length);

4 个答案:

答案 0 :(得分:4)

$('tr').filter(function(){
    return !$(this).attr('style');
}).length;

答案 1 :(得分:2)

var len = $('tr').filter(function(){
      return !$(this).attr('style');
}).length;

http://jsfiddle.net/6pHt6/

答案 2 :(得分:0)

您可以尝试.filter()

console.log($('table tr').filter('[style]').length);

.filter()过滤掉对象集合。

CHECKOUT FIDDLE WITH FILTER USED

.not()

console.log($('table tr').not('[style]').length);

This will output all the tr length which doesn't have a style attributes.

CHECKOUT FIDDLE WITH NOT USED

答案 3 :(得分:0)

分别选择每个集合

var $tr_blank_style = $('tr[style=""]'); // with style=""
var $tr_no_style    = $('tr:not([style])'); // no style attribute at all
var $tr_count       = $tr_blank_style.length + $tr_no_style.length;


使用filter同时选择

var $tr_count = $('tr').filter(function() {
        return $(this).is('[style=""],:not([style])'); 
    }).length;