最近、要素の childNodes プロパティが配列ではなく NodeList を返すという事実に遭遇しました。NodeList が要素のライブ コレクションであることを意図していることは理解できましたが、indexOf や push などのメソッドを使用できない理由がわかりません。
NodeList でできる唯一のことは、インデックスを作成することだけである理由を誰か説明できますか?
最近、要素の childNodes プロパティが配列ではなく NodeList を返すという事実に遭遇しました。NodeList が要素のライブ コレクションであることを意図していることは理解できましたが、indexOf や push などのメソッドを使用できない理由がわかりません。
NodeList でできる唯一のことは、インデックスを作成することだけである理由を誰か説明できますか?
そのように規定されているからです。DOM API は JavaScript とは別に設計されました。NodeList
JavaScript の配列 (およびインデックス) にいくつかの共通点があるという事実length
は、まさに...まあ、実際には偶然ではなく、設計プロセスへのインプットの副産物です。DOM バインディングを持つ言語は JavaScript だけではないことに注意してください。
NodeList
DOM API を使用して、 のコンテンツに簡単に影響を与えることができます。
...またはもちろん、お気に入りの JavaScript ライブラリです。
DOM 構造を変更するには、適切な DOM メカニズムを使用する必要があるため、これが事実であるという印象を受けました。
互換性の問題を見ると、とにかく DOM メソッドを使用する方がおそらく安全です。