0

コードに問題があります。私は新しいdivを作成し、クラスがtimeとのすべての要素の前にそれらを挿入していtime2ます。残念ながら、私のコードは機能しません。insertBeforeは未定義のエラーです。forループの疑いがありますが、さらにサポートが必要です。

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]);
    }
}
4

1 に答える 1

0

timeOneは要素ではなく配列であるため、はありませんparentNode

あなたはおそらく使いたいでしょう

parentDiv = timeOne[index].parentNode;
parentDiv.insertBefore(badges, timeOne[index]); 

これらのエラーを回避するために、変数にもっと意味のある名前を付けることをお勧めします。例えば

var timeOneElements = document.getElementsByClassName("time");
于 2012-07-11T07:26:02.287 に答える