6

以下のコードのように、HTMLCollection から項目を削除する Javascript コードがあります。splice が呼び出されると、次のようなエラーが表示されますallInputs.splice is not a function。要素の種類がボタンの種類でない場合は、HTMLCollection から項目を削除する必要があります。

質問: そのようなコレクションからアイテムを削除するにはどうすればよいですか?

削除されていないアイテムを配列に転送してから、元の HTMLCollection の代わりに配列を操作できますが、これを行うための他の短い方法があるかどうかはわかりません。

JavaScript コード

    var allInputs = contentElement.getElementsByTagName('input');
    for (var i = (allInputs.length - 1) ; i >= 0; i--) {
        if (allInputs[i].type !== "button") {
            allInputs.splice(i, 1);//this is throwing an error since splice is not defined
        }
    }
4

6 に答える 6

8

HTMLCollectionライブ配列のようなオブジェクトです。つまり、そのようなコレクションから要素を削除する必要がある場合は、DOM から削除する必要があります。操作のためにいつでも配列に複製できます。

于 2016-05-18T22:25:30.227 に答える
1

新しく作成されたimgを HTMLCollection画像から削除するには、次の文字列を使用します

img.ownerDocument.images[img.index].remove()

作成時にimg.indexが定義された場所

于 2017-05-04T10:02:38.027 に答える