Javascript でクラスごとにフォームから要素を削除しようとすると、何らかの理由で他のすべての要素が削除されます。何がこの動作を引き起こしているのかまったくわかりません。誰かが私の欠陥のあるロジックがどこにあるかを指摘してくれることを願っています.
最初の要素 (inv0) を残して残りをすべて削除したいだけですが、以下の正確なコードを使用すると、inv0、inv2、inv4 が残ります。
JS:
function clearInventoryFields()
{
// Get the element by their class name
var invFields = document.getElementsByClassName('inventory');
for (var i = 1; i < invFields.length; i++)
{
invFields[i].parentNode.removeChild(invFields[i]);
}
}
HTMLは次のようになります...
<fieldset style="width:62%; float:left; margin-left: 19%;">
<div id="inv0" class="inventory" style="margin-bottom:5px;"> … </div>
<div id="inv1" class="inventory" style="margin-bottom:5px;"> … </div>
<div id="inv2" class="inventory" style="margin-bottom:5px;"> … </div>
<div id="inv3" class="inventory" style="margin-bottom:5px;"> … </div>
<div id="inv4" class="inventory" style="margin-bottom:5px;"> … </div>
<div id="inv5" class="inventory" style="margin-bottom:5px;"> … </div>
</fieldset>
<div class="clear"></div>