特定のクラス名でページからすべての要素を削除しようとしていますが、何らかの理由で代替クラスのみが削除されます。クラス名で削除する
コードペンリンクは、ここで私が間違っているつもりです https://codepen.io/miller619/pen/WoVpdE
function prev(e) {
'use strict';
e.preventDefault();
var getID = document.getElementById("zone");
var removeXButtons = getID.getElementsByClassName("xbutton");
for (var i = 0; i < removeXButtons.length; i++) {
removeXButtons[i].parentNode.removeChild(removeXButtons[i]);
}
}
<div id="zone">
<input class="xbutton" name="xbtn" type="button" value="×">
<input class="xbutton" name="xbtn" type="button" value="×">
<input class="xbutton" name="xbtn" type="button" value="×">
</div>
<div id="pbtn" > <a href="#" class="btn btn-info btn-preview" onclick="prev(event)"><span class="glyphicon glyphicon-eye-open"></span> Delete all</a> </div>
のですか?
ループ。要素を削除すると、変更後のすべての要素のループインデックスが返されます。 – Blazemonger
子を削除すると、残りの子のインデックスも各繰り返しで変更されるためです。 – asprin
[DOMからHTMLCollection要素を削除する]の複製があります(http://stackoverflow.com/questions/23988982/removing-htmlcollection-elements-from-thedom) – Xufox