2016-03-25 42 views
2

我正在生成一個表格行,它在包含來自數據庫的值的html中動態地有兩列。 我想第一列的每一個td都有一個唯一的id,我已經完成了,但是我不能將id設置爲表中最後一行的td。 下面的代碼來設置ID使用setAttribute將setAttribute設置爲元素的最後一行的td

<script> 
var i=0; 
var id=1; 
while(i<100) 
{ 
document.getElementsByTagName("td")[i].setAttribute("id", id); 
i=i+2; 
id=id+1; 
} 
</script> 

任何幫助將不勝感激

+0

'而(I'102)'??? – AdityaParab

回答

1

,但我不能將ID設置爲最後一行在表中的TD。

您需要先到達表格中的最後一行。

var allRows = document.getElementsByTagName("tr"); 
var lastRow = allRows[allRows.length - 1]; 

現在設置標識,以最後一排的第一個TD

lastRow.getElementsByTagName("td")[0].setAttribute("id" , allRows.length + 1); 
1

您可以使用querySelectorAll使用:first-child所有首款TD的withing給定的表來獲得; 它將返回NodeList需要被轉換成一個數組。

var arrTD = document.querySelectorAll("#list-notification tr td:first-child"); 

    arrTD = Array.prototype.slice.call(arrTD); 

    var i =0; 
    arrTD.forEach(function(val,key){ 
        val.setAttribute('id',i); 
        ++i 
    }) 
1

提供DOM選擇器是有原因的。 :)

var tds = $('tr td:first-child'); 
var i=0; 
$.each(tds, function(){ 
    $(this).attr('id',i++); 
}); 

OR

使用純javascript

var tds = document.querySelectorAll('tr td:first-child'); 
var i = 0; 
for(var td in tds){ 
    tds[td].setAttribute('id',i++); 
    // or 
    //tds[td].id=(i++).toString(); 
};