複数のページで動作する js コードを作成しようとしています。querySelectorAll() を使用して DOM から要素を取得しようとしています。
要素を順序付ける必要があります。そのためには、xPath またはセレクターを使用します (セレクターを使用する方が望ましいですが、xPath も使用できます)。問題は、
querySelectorAll() によって返される NodeList 内の要素が、HTML 内のタグの順序とは逆に順序付けられているかどうかです。
注: タグを追加したい: querySelectorAll
ベストアンサー1
返されるノード リストは順序付けられています。簡単なテストでそれが証明されました。
document.querySelectorAll("body, head")[0]; //Returned [object HTMLHeadElement]
明らかに、<head>
タグは HTML ドキュメントの前に表示されます。セレクターが`head の前に表示されている場合でも、 <body>
NodeList の最初の要素も要素です。<head>
body
からhttp://www.w3.org/TR/selectors-api/#queryselectorall:
NodeSelectorインターフェースのメソッド
querySelectorAll()
は、呼び出されると、ノードのサブツリー内の一致する要素ノードをすべて含むNodeListを返す必要があります。文書順そのようなノードが存在しない場合は、メソッドは空の NodeList を返す必要があります。