2017-04-11 12 views
0

動的に生成されるテーブルは、任意の時点で異なる数の行を持ちます。動的テーブル内の行数をカウントする

<div class="marquee"> 
    <table runat="server" id="TableFeedReader"> 
    </table> 
</div> 

私はjQueryを使って行の数をカウントし、hereと類似の動的プロパティを計算する整数として番号を渡したいです。このコードでは、HTMLが生成されたときに私の動的値がゼロになります。

$(function() { 
     var rowCount = $('TableFeedReader').length; 
     var newCount = parseInt(rowCount) * 2; 
     var style = document.createElement('style'); 
     style.type = 'text/css'; 
     style.id = 'keyframe' 
     var keyFrames = '\ 
@-webkit-keyframes marquee {\ 
    0% {\ 
     top: 9em\ 
    }\ 
    100% {\ 
     top: -A_DYNAMIC_VALUEem\ 
    }\ 
}\ 
@-moz-keyframes marquee {\ 
    0% {\ 
     top: 9em\ 
    }\ 
    100% {\ 
     top: -A_DYNAMIC_VALUEem\ 
    }\ 
}'; 
     style.innerHTML = keyFrames.replace(/A_DYNAMIC_VALUE/g, newCount); 
     document.getElementsByTagName('head')[0].appendChild(style); 
    }); 

どこが間違っていますか? var rowCount = $('#TableFeedReader tr').length;

console.log($('#TableFeedReader tr').length);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table runat="server" id="TableFeedReader"> 
 
    <tr><td></td></tr> 
 
    <tr><td></td></tr> 
 
    <tr><td></td></tr> 
 
</table>

+1

テーブルの行数は、[* rows *](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/rows)プロパティで指定します。テーブルへの参照を取得したら、* tableRef.rows *は行数です。ライブもあるので、* rows *オブジェクトへの参照を取得したら、それをチェックして、いつ何行あるかを確認することができます。 – RobG

答えて

1

変更var rowCount = $('TableFeedReader').length;はCSSセレクタではなく、IDを取ります。 $('#TableFeedReader')を意味しているかもしれませんが、それでもあまり意味がありません。通常、ページには特定のIDを持つ要素が1つしかないためです。

私は$('#TableFeedReader tr')を試してみます。

+0

ありがとうございます。それはうまくいくはずだが、それは私の目的のために働いていない。私はゼロを得続けます。私は休憩を取って後でそれに戻ってくると思う。 – TomBB

+0

@TomBBあなたは私たちに問題を再現するデモを提供できますか? –

+0

テーブルにデータが入力された後にコードが実行されていることを確認してください。 – guest

0

$

+0

セレクタはCSSに使用されていますが、[*個別に指定*](https://www.w3.org/TR/css3-selectors/)で他の目的に使用されています、 "セレクター"だけです。 ;-) – RobG

+0

ニート。しかし、区別のポイントは何ですか? – guest

関連する問題