最新的Web开发教程
 

HTML DOM querySelectorAll() Method

<元素对象

设置带有class =“示例”的第一个元素的背景颜色的内部<div>元素:

// Get the element with id="myDIV" (a div), then get all elements inside div with class="example"
var x = document.getElementById("myDIV").querySelectorAll(".example"); 

// Set the background color of the first element with class="example" (index 0) in div
x[0].style.backgroundColor = "red"; 
试一试»

更多"Try it Yourself"下面的例子。


定义和用法

所述querySelectorAll()方法返回匹配指定CSS,一个元素的子元素的集合selector(s)作为静态节点列表对象。

该节点列表对象表示节点的集合。 节点可以通过索引号来访问。 该指数从0开始。

提示:您可以使用长度的NodeList对象的属性来确定特定的选择相匹配的子节点的数量,那么你可以通过所有节点的循环,并提取所需的信息。

有关CSS选择的更多信息,请访问我们的CSS选择器教程和我们的CSS选择参考


浏览器支持

在表中的数字规定,完全支持方法的第一个浏览器版本。

方法
querySelectorAll() 4 9 3.5 3.2 10.0

注:Internet Explorer 8中对CSS2选择支持。 IE9及更高版本对CSS3和支持。


句法

element .querySelectorAll( CSS selectors )

参数值

参数 类型 描述
CSS selectors String 需要。 指定一个或多个CSS选择器来匹配元素。 这些用于基于它们的ID,类类型,属性,属性值等来选择HTML元素

对于多个选择器,每个选择用逗号分开。

提示:对于所有的CSS选择列表,看看我们的CSS选择参考

技术细节

DOM版本: 选择1级文档对象
返回值: 甲NodeList对象,代表一个指定的CSS匹配当前元素的所有后代元素selector(s) 该节点列表是一个静态的集合,这意味着在DOM变化具有收藏中没有任何影响。

注意:抛出一个SYNTAX_ERR异常,如果指定的selector(s)是无效的

例子

更多示例

获取所有<p>一内部元件<div>元素,并设置第一背景颜色<p>元素(index 0)

// Get the element with id="myDIV" (a div), then get all p elements inside div
var x = document.getElementById("myDIV").querySelectorAll("p"); 

// Set the background color of the first <p> element (index 0) in div
x[0].style.backgroundColor = "red";  
试一试»

获取所有<p>在一个元素<div>带有class =“示例”,并设置第一背景<p>元素:

// Get the element with id="myDIV" (a div), then get all p elements with class="example" inside div
var x = document.getElementById("myDIV").querySelectorAll("p.example"); 

// Set the background color of the first <p> element with class="example" (index 0) in div
x[0].style.backgroundColor = "red";  
试一试»

找出带有class =“示例”多少个元素有一个<div>元件(使用NodeList对象的长度属性):

/* Get the element with id="myDIV" (a div), then get all p elements with class="example" inside div, and return the number of elements found */
var x = document.getElementById("myDIV").querySelectorAll(".example").length; 
试一试»

设置在一个带有class =“示例”的所有元素的背景色<div>元素:

// Get the element with id="myDIV" (a div), then get all elements with class="example" inside div
var x = document.getElementById("myDIV").querySelectorAll(".example");

// Create a for loop and set the background color of all elements with class="example" in div
var i;
for (i = 0; i < x.length; i++) {
    x[i].style.backgroundColor = "red";
}
试一试»

将所有的背景颜色<p>在一个元素<div>元素:

// Get the element with id="myDIV" (a div), then get all p elements inside div
var x = document.getElementById("myDIV").querySelectorAll("p");

// Create a for loop and set the background color of all p elements in div
var i;
for (i = 0; i < x.length; i++) {
    x[i].style.backgroundColor = "red";
}
试一试»

设置所有的边框样式<a>在元素<div>有一个元素"target"属性:

// Get the element with id="myDIV" (a div), then get all <a> elements with a "target" attribute inside div
var x = document.getElementById("myDIV").querySelectorAll("a[target]");

// Create a for loop and set the border of all <a> elements with a target attribute in div
var i;
for (i = 0; i < x.length; i++) {
    x[i].style.border = "10px solid red";
}
试一试»

设置的背景颜色的所有<H2>, <div><span>在一个元素<div>元素:

// Get the element with id="myDIV" (a div), then get all <h2>, <div> and <span> elements inside <div>
var x = document.getElementById("myDIV").querySelectorAll("h2, div, span");

// Create a for loop and set the background color of all <h2>, <div> and <span> elements in <div>
var i;
for (i = 0; i < x.length; i++) {
    x[i].style.backgroundColor = "red";
}
试一试»

相关页面

CSS教程: CSS选择器

CSS参考: CSS选择器参考

JavaScript的教程: JavaScript的HTML DOM节点列表

HTML DOM参考: 元素 querySelector()

HTML DOM参考: 文件。 querySelectorAll()


<元素对象