querySelectorAll()与querySelector()

513 阅读1分钟

通过querySelectorAll()方法接收的参数与querySelector()方法一样,都是一个css选择符,但返回的是所有匹配的元素不仅仅是一个元素。这个方法返回的是一个NodeList的实例。 具体来说,返回的值实际上是带有所有属性和方法的NodeList,而其底层实现则类似于一组元素的快照,而非不断对文档进行搜索的动态查询。这样实现可以避免使用NodeList对象通常会引起的大多数性能问题。 只要传给querySelectorAll()方法的CSS选择符有效,该方法都会返回一个NodeList对象,而不管找到多少匹配的元素。如果没有找到匹配的元素,NodeList就是空的。 与querySelector()类似,能够调用querySelectorAll()方法的类型包括Document、DocumentFragment和Element。下面是几个例子。 //取得某div中的em元素(类似于getElementsByTagName("em")) var ems = document.getElementById("myDiv").querySelectorAll("em");

//取得类为"selected"的所有元素 var selecteds = document.querySelectorAll(".selected"); //取得所有p元素中的所有strong元素 var strongs = document.querySelectorAll(“p strong”);