1

同じクラス「ボックス」を持つボタンをクリックすると、すべての要素を削除したい。人々がこれを行ういくつかの例を調べましたが、私のコードでそれを行う方法を理解するのにまだ苦労しています.

ボタンがクリックされたときにDOMにボックスを追加するこの関数があります。

 function addBox(newbox) {                                   
   var scene = document.getElementById("scene"); //where all new divs will go        
   var div = document.createElement("div");                   
   div.className += " " + "box";            // assigns the class "box" to all divs
   div.innerHTML += newbox.name; 
   div.style.backgroundColor = newbox.color;                            
   scene.appendChild(div);                                    
  }

これは、別のボタンがクリックされたときにすべての新しい div をクリアしようとするために取り組んでいる関数です。

  function clear() {
  var elems = document.getElementsByClassName("box");
  for ( k = elems.length - 1; k >= 0; k--) {
   parentElement.removeChild(elems[k]);
  }
  }

コンソールに表示される警告は、「parentElement が定義されていません」です。親要素を定義する方法を理解しようとしていますが、問題があります。どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

4

要素のparentNodeプロパティから親を取得できます。

function clear() {
    var elems = document.getElementsByClassName("box");
    for (var k = elems.length - 1; k >= 0; k--) {
        var parent = elems[k].parentNode;
        parent.removeChild(elems[k]);
    }
}
于 2013-01-11T19:48:18.577 に答える