querySelectAll()
1517 ワード
Javascriptインスタンスチュートリアル:querySelectorAll()メソッド
querySelectorAll()はquerySelector()と同じ2つのパラメータ、すなわちCSSクエリとオプションのネーミングスペース解析器を受け入れますが、単一ではなくすべての一致するノードが返されます.このメソッドは、StaticNodeListという新しいタイプのインスタンスを返します.
名前の通り、StaticNodeListにはNodeListのすべてのプロパティとメソッドがありますが、その下位レベルの実装は、常にドキュメントに対する動的クエリーを再実行するのではなく、要素セットのスナップショットです.StaticNodeListを使用すると、NodeListオブジェクトを使用することによるパフォーマンスの問題の大部分が解消されます.
querySelectorAll()を呼び出すと、一致する要素がいくつあるかにかかわらず、StaticNodeListオブジェクトが返されます.一致しない場合、StaticNodeListは空です.querySelectorAll()はquerySelector()と同様にDocumentやElementタイプに存在します.以下に例を示します.
返されるStaticNodeListオブジェクトは、NodeListと同様に反復され、item()または角カッコタグを使用して単一の要素を取得できます.次の例を示します.
次の例に示すように、querySelectorAll()で名前空間解析器を使用できます.
querySelectorAll()はquerySelector()と同じ2つのパラメータ、すなわちCSSクエリとオプションのネーミングスペース解析器を受け入れますが、単一ではなくすべての一致するノードが返されます.このメソッドは、StaticNodeListという新しいタイプのインスタンスを返します.
名前の通り、StaticNodeListにはNodeListのすべてのプロパティとメソッドがありますが、その下位レベルの実装は、常にドキュメントに対する動的クエリーを再実行するのではなく、要素セットのスナップショットです.StaticNodeListを使用すると、NodeListオブジェクトを使用することによるパフォーマンスの問題の大部分が解消されます.
querySelectorAll()を呼び出すと、一致する要素がいくつあるかにかかわらず、StaticNodeListオブジェクトが返されます.一致しない場合、StaticNodeListは空です.querySelectorAll()はquerySelector()と同様にDocumentやElementタイプに存在します.以下に例を示します.
// <div> ( getElementsByTaName("img") )
var images = document.getElementById("myDiv").querySelectorAll("img");
// “selected”
var selected = document.querySelectorall(".selected");
// <p> <strong>
var strongs = document.querySelectorAll("p strong");
返されるStaticNodeListオブジェクトは、NodeListと同様に反復され、item()または角カッコタグを使用して単一の要素を取得できます.次の例を示します.
for (var i = 0, len = strongs.length; i < len; i++) {
var strong = strong[i]; // strongs.item(i)
strong.className = "important";
}
次の例に示すように、querySelectorAll()で名前空間解析器を使用できます.
var svgImages = document.querySelectorAll("svg|svg", function (prefix) {
switch (prefix) {
return "http://www.w3.org/2000/svg";
//
}
});