我有一个动态生成的表,在任何给定时间都会有不同的行数。
<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);
});
我哪里错了?
答案 0 :(得分:0)
将var rowCount = $('TableFeedReader').length;
更改为var rowCount = $('#TableFeedReader tr').length;
console.log($('#TableFeedReader tr').length);
&#13;
<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>
&#13;
答案 1 :(得分:0)
$
采用CSS选择器,而不是ID。您的意思可能是$('#TableFeedReader')
,但这仍然没有多大意义,因为页面上通常只有一个具有给定ID的元素。
我试试$('#TableFeedReader tr')
。