当函数被调用时,该函数只是将新行注入(inject)到一个空表中。
似乎自从 <td>
类被正确分配,<tr>
也会被分配...但它没有!
var newRow = document.createElement("tr");
for (data in dataArray)
{
var newName = document.createElement("td");
newName.className = classNames[data];
newName.innerHTML = dataArray[data];
newRow.appendChild(newName);
counter++;
}
document.getElementById("capturedData").appendChild(newRow);
var newRow2 = document.createElement("tr");
newRow2.class = "hiddenRow";
for (data in dataArray)
{
var newData = document.createElement("td");
var newDataField = document.createElement("input");
newDataField.type = "hidden";
newDataField.name = "name" + data;
newDataField.value = dataArray[data];
newData.class = classNames[data];
newData.value = dataArray[data];
newData.appendChild(newDataField);
newRow2.appendChild(newData);
}
这真的很奇怪。所有新增<td>
元素分配了它们的类,它们显示在 DOM 中。但是 <tr>
元素不接受类赋值,并且在 DOM 中它们没有类。
这是为什么?我读过有关脚本执行的所谓异步性的信息,但肯定不是这种情况,它会破坏目的,不是吗?
最佳答案
DOM 元素没有属性 class
,因为它是保留关键字。您正在寻找 className
:
newRow2.className = "hiddenRow";
同样适用于单元格 (newData
)。它适用于您的其他单元格,因为您已经在使用 className
:
newName.className = classNames[data];
关于javascript - 动态添加的类适用于 <td> 但不适用于 <tire>。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8019481/