2017-04-11 51 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); 
    }); 

我在哪裏出錯了?

+1

表中的行數由其[* rows *](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableElement/rows)屬性給出。一旦你有了對錶的引用,那麼* tableRef.rows *就是行數。它也是活的,所以一旦你有了對* rows *對象的引用,你可以檢查它看看有多少行在任何時候。 – RobG

回答

1

變化var rowCount = $('TableFeedReader').length;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>

+0

謝謝。它似乎應該工作,但它不是我的目的。我一直得到一個零。我想我會稍事休息,稍後再回來。 – TomBB

+0

@TomBB你能給我們一個可以再現問題的工作演示嗎? –

+0

確保代碼在填充表後運行。 – guest

0

$需要CSS選擇,而不是一個ID。你可能意思是$('#TableFeedReader'),但這還沒有太大意義,因爲在頁面上通常只有一個元素具有給定的ID。我想試試$('#TableFeedReader tr')

+0

選擇器用於CSS,但它們[*另行指定*](https://www.w3.org/TR/css3-selectors/)並用於其他目的,所以只是「選擇器」。 ;-) – RobG

+0

整齊。這個區別有什麼意義呢? – guest