2012-12-22 108 views
0

我試圖在20行的表格中打印< tr>行號。在表中打印行號

我不那麼精通jQuery的語法,但是這基本上就是我需要

var rowIndex = 1; 
// for each row increase rowIndex + 1 
$('.tablerow').html(rowIndex) 

任何幫助,您可以把我的方式很多日Thnx。

+0

每個'tr'是'.tablerow'還是每個'tr'中的第一個'td'? – jfriend00

回答

3

您可以使用.each()來遍歷行。如果.tablerow是TR元件上的一類,你可以遍歷這樣的每一行:

$('.tablerow').each(function (i) { 
    $("td:first", this).html(i); 
}); 

例子將索引添加到各行上首個TD-元素。

Working example

如果你不想索引添加到第一個TD-元素,你可以使用.eq()方法由TR-元素中指定其索引來選擇你想要的任何TD(零基於)。

$('.tablerow').each(function (i) { 
    $("td", this).eq(2).html(i); 
}); 

上面的例子會將索引寫入每一行的第三個td元素。

Working example

開始的一個:

爲了從1開始,而不是0,所有你需要做的就是添加一個索引打印出來

$('.tablerow').each(function (i) { 
    $("td:first", this).html(i + 1); 
}); 

Working example

+0

Thanks @ christofer-eliasson!奇蹟般有效。我如何從1(而不是0)開始計數? –

+0

@OctoberEleven查看我更新的答案。 –

+0

美麗! @克里斯托弗 - 埃利亞鬆! –

0

您可以使用.each()在集合中的每個項目上運行自定義函數。您不會向我們顯示您的確切HTML,因此我們不知道哪個項目.tablerow是。下面是根據什麼.tablerow兩個選項:

假設.tablerow是您tr

$(".tablerow td:first").each(function(index) { 
    $(this).html(index); 
}); 

如果.tablerow已經是每一行的第一td,那麼它可以僅僅是這樣的:

$(".tablerow").each(function(index) { 
    $(this).html(index); 
});