简体   繁体   English

JavaScript / DOM-给新创建的元素一个ID

[英]JavaScript/DOM - Give a newly created element an ID

How can I apply an element ID to a newly created element through JavaScript DOM? 如何通过JavaScript DOM将元素ID应用于新创建的元素?

The code I have written creates a table which is triggered from a button. 我编写的代码创建了一个通过按钮触发的表。

I need to apply a unique ID to this table so it can be styled differently to others which appear on my site. 我需要对此表应用唯一的ID,以便可以将其设置为与其他出现在我网站上的样式不同的样式。

Here is a sample of my code: 这是我的代码示例:

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);

}

Try 尝试

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

For applying styles consider using class selectors, you may not need IDs at all. 要应用样式,请考虑使用类选择器,您可能根本不需要ID。

Note that if you want to create valid HTML you can't have duplicated IDs that significantly lessens value for CSS styles, especially for table data. 请注意,如果要创建有效的HTML,则不能有重复的ID,这些ID会大大降低CSS样式的价值,尤其是表数据的价值。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM