使用setAttribute将id设置为元素的最后一行的td

时间:2016-03-25 07:06:48

标签: javascript html

我正在生成一个表行,它在html中动态地包含两列,包含数据库中的值。 我希望第一列的每个td都有一个我已经完成的唯一ID但我不能将id设置为表中最后一行的td。 这是设置ID

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

任何帮助将不胜感激

3 个答案:

答案 0 :(得分:1)

  

但是我无法将id设置为表格中最后一行的td。

您需要先到达表格的最后一行。

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

现在将Id设置为最后一行的第一个td

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

答案 1 :(得分:1)

您可以使用querySelectorAll使用:first-child获取给定表格的所有第一个td; 它将返回需要转换为数组的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   
    })

答案 2 :(得分: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();
};