3

最近、要素の childNodes プロパティが配列ではなく NodeList を返すという事実に遭遇しました。NodeList が要素のライブ コレクションであることを意図していることは理解できましたが、indexOf や push などのメソッドを使用できない理由がわかりません。

NodeList でできる唯一のことは、インデックスを作成することだけである理由を誰か説明できますか?

4

2 に答える 2

4

そのように規定されているからです。DOM API は JavaScript とは別に設計されました。NodeListJavaScript の配列 (およびインデックス) にいくつかの共通点があるという事実lengthは、まさに...まあ、実際には偶然ではなく、設計プロセスへのインプットの副産物です。DOM バインディングを持つ言語は JavaScript だけではないことに注意してください。

NodeListDOM API を使用して、 のコンテンツに簡単に影響を与えることができます。

...またはもちろん、お気に入りの JavaScript ライブラリです。

于 2011-05-11T09:20:41.547 に答える
0

DOM 構造を変更するには、適切な DOM メカニズムを使用する必要があるため、これが事実であるという印象を受けました。

互換性の問題を見ると、とにかく DOM メソッドを使用する方がおそらく安全です。

http://reference.sitepoint.com/javascript/NodeList

于 2011-05-11T09:19:06.860 に答える