6

これが私の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>

このことから、style プロパティを持たない、または style=" " プロパティを持つ tr の数が必要です。

以下のコードを使用していますが、5 ではなく 8 としてカウントされます。

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

4 に答える 4

4
$('tr').filter(function(){
    return !$(this).attr('style');
}).length;
于 2013-03-15T07:29:14.000 に答える
2
var len = $('tr').filter(function(){
      return !$(this).attr('style');
}).length;

http://jsfiddle.net/6pHt6/

于 2013-03-15T07:24:02.573 に答える
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;
于 2013-03-15T07:32:10.887 に答える
0

あなたが試すことができます.filter()

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

.filter()オブジェクトのコレクションを除外します。

フィルターを使用したチェックアウト フィドル

.not():

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

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

未使用のチェックアウト フィドル

于 2013-03-15T07:24:38.637 に答える