誰かがdocument.querySelectorAll("#tagContainingWrittenEls > *")
、書かれたすべてのタグへの参照を取得するために使用することを提案しました。次に、それらすべてをループし、リスト内の各要素に対して and を実行して、情報を取得できます.tagName
。.attributes
ただし、これは #tagContainingWrittenEls という名前のクラスがある場合にのみ実行できます。これは何かの方法だと思いました
誰かがdocument.querySelectorAll("#tagContainingWrittenEls > *")
、書かれたすべてのタグへの参照を取得するために使用することを提案しました。次に、それらすべてをループし、リスト内の各要素に対して and を実行して、情報を取得できます.tagName
。.attributes
ただし、これは #tagContainingWrittenEls という名前のクラスがある場合にのみ実行できます。これは何かの方法だと思いました
このquerySelectorAll
関数はセレクター文字列NodeList
を受け取り、配列のように反復できる を返します。
// get a NodeList of all child elements of the element with the given id
var list = document.querySelectorAll("#tagContainingWrittenEls > *");
for(var i = 0; i < list.length; ++i) {
// print the tag name of the node (DIV, SPAN, etc.)
var curr_node = list[i];
console.log(curr_node.tagName);
// show all the attributes of the node (id, class, etc.)
for(var j = 0; j < curr_node.attributes.length; ++j) {
var curr_attr = curr_node.attributes[j];
console.log(curr_attr.name, curr_attr.value);
}
}
セレクター文字列の内訳は次のとおりです。
#nodeid
、指定された ID を持つノードを参照します。ここでは、架空の idtagContainingWrittenEls
が使用されています。あなたの id はおそらく異なる (そして短い) でしょう。>
構文は「そのノードの子」を意味します。*
は単純な「すべて」のセレクターです。まとめると、セレクター文字列は、「「tagContainingWrittenEls」の ID を持つノードのすべての子を選択する」と述べています。
CSS3 セレクターのリストについては、http://www.w3.org/TR/selectors/#selectorsを参照してください。これらは、高度な Web 開発にとって非常に重要 (かつ便利) です。
MDNによると、.querySelectorAll
指定されたセレクターのグループに一致するドキュメント内の要素のリストを返します(ドキュメントのノードの深さ優先の事前順序トラバーサルを使用)。返されるオブジェクトはNodeListです。
.querySelectorAllは、指定されたセレクターに一致する要素のリストを返します。
これは、CSSでスタイルを設定する方法と似ています。セレクターを作成し、これらのターゲット要素に適用するプロパティを入力すると、これらの要素がスタイル設定されます。
たとえば、CSSで、下<a>
にあるすべての色を色でスタイル設定したいとします。あなたはこれを持っているでしょう:<li>
<ul>
id
list
red
ul#list li a{
color:red;
}
事実上、すべてが赤に<a>
変わります。<li>
<ul>
id
list
同じセレクターを使用して、JavaScriptを介してこれらの同じ<a>
要素を取得します
var anchors = document.querySelectorAll('ul#list li a');
これanchors
で、NodeList
(配列のような構造)が含まれます。この構造に<a>
は、の下<li>
のすべて<ul>
への参照が含まれます。aはとのようなものなので、ループすることができ、各アイテムはのアンダーの下にあります。id
list
NodeList
Array
<a>
<li>
<ul>
id
list
もちろん、コードの実行時にDOMにある要素のみを取得します。