getElementsByTagName
によって返されるライブ NodeList は、要素のドキュメントの順序を保持することを知っています。
getElementsdByClassName
、getElementsByName
およびquerySelectorAll
メソッドに当てはまりますか?
これらのメソッドもドキュメントの順序を保持しますか?
DOM/HTML5 W3C 標準のリンクをいただければ幸いです。
getElementsByTagName
によって返されるライブ NodeList は、要素のドキュメントの順序を保持することを知っています。
getElementsdByClassName
、getElementsByName
およびquerySelectorAll
メソッドに当てはまりますか?
これらのメソッドもドキュメントの順序を保持しますか?
DOM/HTML5 W3C 標準のリンクをいただければ幸いです。
はい。いずれもドキュメント順・ツリー順です。
getElementsByName
( DOM Level-2-HTML ) は、NodeList
querySelectorAll
( Selectors APINodeList
) は「ドキュメント順」を返しますgetElementsByTagName
( DOM ) を返しますHTMLCollection
getElementsByClassName
( DOM ) を返しますHTMLCollection
HTMLCollection
sとNodeList
sは両方とも持つように指定されています
要素はツリー順にソートされます。
それらがindize経由でアクセスされるとき。NodeList がライブであるかどうかは実際には問題ではありません (もちろん、実際のドキュメントの順序は、静的な NodeList に保存されている順序とは対照的に変更される可能性があります)。
いいえ、すべてが同じように機能するわけではありません。getElementsByTagName
メソッドのみがライブ コレクションを返します。
このgetElementsByTagName
メソッドは、NodeList
要素のライブ コレクションであるオブジェクトを返します。
このquerySelectorAll
メソッドはNodeList
、ライブ コレクションではないオブジェクトを返します。
およびメソッドは、ライブ コレクションではないオブジェクトgetElemendsByClassName
を返します。getElementsByName
HTMLCollection
(別のドキュメントでは、 aまたは a のgetElemenetsByName
いずれかが指定されていることに注意してください。)HTMLCollection
NodeList