Javascript实例教程:querySelectorAll()方法
2012-04-14 09:13:51 来源:WEB开发网核心提示: querySelectorAll()接受和querySelecort()一样的两个参数,即CSS查询和可选的命名空间解析器,Javascript实例教程:querySelectorAll()方法,但是返回的是所有匹配的节点而非单个,该方法返回一个叫做StaticNodeList的新类型的实例,querySelecto
querySelectorAll()接受和querySelecort()一样的两个参数,即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"; }
Tags:Javascript 实例 教程
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接