JavaScript/DOM-为新创建的元素提供一个ID

JavaScript/DOM-为新创建的元素提供一个ID,javascript,dom,Javascript,Dom,如何通过JavaScript DOM将元素ID应用于新创建的元素 我编写的代码创建了一个由按钮触发的表 我需要对这个表应用一个唯一的ID,这样它的样式就可以与我网站上出现的其他表不同 以下是我的代码示例: var tab = document.createElement("ViewShoppingCart"); document.getElementById("shopping_list").appendChild(tab); var tbdy = document.createElement

如何通过JavaScript DOM将元素ID应用于新创建的元素

我编写的代码创建了一个由按钮触发的表

我需要对这个表应用一个唯一的ID,这样它的样式就可以与我网站上出现的其他表不同

以下是我的代码示例:

var tab = document.createElement("ViewShoppingCart");
document.getElementById("shopping_list").appendChild(tab);

var tbdy = document.createElement("tbody");
tab.id = "new_cart";
tab.appendChild(tbdy);
new_cart = true;

var total = 0;

for (var a = 0; a <= nameArray.length-1; a++) {

var tr = document.createElement("tr");
tbdy.appendChild(tr);

var td = document.createElement("td");
    td.appendChild(document.createTextNode("x " + quantityArray[a]));
    tr.appendChild(td); 

var td2 = document.createElement("td");
    td2.appendChild(document.createTextNode(nameArray[a]));
    tr.appendChild(td2);

var td3 = document.createElement("td");
    td3.appendChild(document.createTextNode(sumArray[a]));
    tr.appendChild(td3);

}
试一试


< >使用样式选择器考虑使用样式,您可能根本不需要IDS。


请注意,如果要创建有效的HTML,则不能使用重复的id来显著降低CSS样式的值,尤其是表格数据的值。

我编辑了我的答案,我假设tbdy是您的表格,所以只需将tbdy.id=newtbodyid;定义变量后。如果动态生成的表不在代码范围内,则可以尝试如上所示或通过文档定义它的id。getElementById'tableID'。setAttribute'id',newid';。请注意,如果这是一个问题,则后者在IE中可能无法很好地工作。tab.id=cart+new Date.getTime?
var tbdy = document.createElement("tbody");
tbdy.id = "newtbodyid";
tab.id = "new_cart";
tab.appendChild(tbdy);
new_cart = true;