我正在生成一个表行,它在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>
任何帮助将不胜感激
答案 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();
};