我的代码遇到问题。我正在创建新的div,然后在具有time
和time2
类的每个元素之前插入它们。不幸的是我的代码不起作用我得到insertBefore是未定义的错误。我怀疑它是我的循环,但我需要进一步的帮助。
window.onload = function () {
var badges, timeOne, timeTwo, parentDiv;
timeOne = document.getElementsByClassName("time");
timeTwo = document.getElementsByClassName("time2");
for (index = 0; index < timeOne.length; ++index) {
badges = document.createElement("div");
badges.id = "badges";
parentDiv = timeOne.parentNode;
parentDiv.insertBefore(badges, timeOne[index]);
}
for (index = 0; index < timeTwo.length; ++index) {
badges = document.createElement("div");
badges.id = "badges";
parentDiv = timeTwo.parentNode;
parentDiv.insertBefore(badges, timeTwo[index]);
}
}
答案 0 :(得分:0)
timeOne
不是元素而是数组,因此它没有parentNode
。
您可能想要使用
parentDiv = timeOne[index].parentNode;
parentDiv.insertBefore(badges, timeOne[index]);
为了避免这些错误,我建议你为变量提供更有意义的名称。例如
var timeOneElements = document.getElementsByClassName("time");