`

javascript javascript高级选择器querySelector和querySelectorAll 【转】

 
阅读更多

querySelector 和 querySelectorAll 方法是 W3C Selectors API 规范中定义的。他们的作用是根据 CSS 选择器规范,便捷定位文档中指定元素。

目前几乎主流浏览器均支持了他们。包括 IE8(含) 以上版本、 Firefox、 Chrome、Safari、Opera。

querySelector 和 querySelectorAll 在规范中定义了如下接口:

module dom { [Supplemental, NoInterfaceObject] interface NodeSelector { Element querySelector(in DOMString selectors); NodeList querySelectorAll(in DOMString selectors); }; Document implements NodeSelector; DocumentFragment implements NodeSelector; Element implements NodeSelector; };

从接口定义可以看到Document、DocumentFragment、Element都实现了NodeSelector接口。即这三种类型的元 素都拥有者两个方法。querySelector和querySelectorAll的参数须是符合 css selector 的字符串。不同的是querySelector返回的是一个对象,querySelectorAll返回的一个集合(NodeList)。

获取页面I属性ID为test的元素:

document.getElementById("test");
//or
document.querySelector("#test");
document.querySelectorAll("#test")[0];

获取页面class属性为”red”的元素:

document.getElementsByClassName('red')
//or
document.querySelector('.red')
//or
document.querySelectorAll('.red')

Element.querySelector和Element.querySelectorAll和jQuery(element).find(selector)选择器的区别:

<div id="test1"><a href="http://www.hujuntao.com/">设计蜂巢</a></div>
<p id="bar">111</p>
<script>
var d1 = document.getElementById('test1'),
obj1 = d1.querySelector('div a'),
obj2 = d1.querySelectorAll('div a');
obj3 = $(d1).find('div a');
console.log(obj1) //<a href="http://www.hujuntao.com/">设计蜂巢</a>
console.log(obj2.length) //1
console.log(obj3) //null
</script>

querySelectorAll 在文档内找全部符合选择器描述的节点包括Element本身
jQuery(element).find(selector) 在文档内找全部符合选择器描述的节点不包括Element本身

分享到:
评论

相关推荐

    javascript高级选择器querySelector和querySelectorAll全面解析

    他们的作用是根据 CSS 选择器规范,便捷定位文档中指定元素。 目前几乎主流浏览器均支持了他们。包括 IE8(含) 以上版本、 Firefox、 Chrome、Safari、Opera。 querySelector 和 querySelectorAll 在规范中定义了如下...

    原生的强大DOM选择器querySelector.pdf

    querySelector和querySelectorAll是JavaScript DOM操作的重要工具,它们让开发者能够以CSS选择器的方式选取DOM元素,大大提高了代码的可读性和简洁性。理解这两个方法的用法和区别,对于编写高效、易维护的DOM操作...

    javascript之querySelector和querySelectorAll使用介绍

    由于querySelector和querySelectorAll方法与jQuery选择器在语义上有相似之处,一些开发者可能会对这两个原生JavaScript方法的浏览器实现产生误解。例如,有些开发者可能会期待使用querySelectorAll返回的结果是可以...

    再谈querySelector和querySelectorAll的区别与联系

    `querySelector` 和 `querySelectorAll` 是在Web开发中用于选取HTML或XML文档中特定元素的JavaScript API,它们都基于CSS选择器。这两个方法都定义在DOM接口中,可以在任何支持这些方法的DOM节点上使用。 **...

    原生的强大DOM选择器querySelector介绍.docx

    DOM 选择器 querySelector 是一种原生的 JavaScript 方法,用于快速查找和选择 DOM 元素。它的出现解决了传统 JavaScript 开发中查找 DOM 的问题,使得开发者可以快速地查找到需要的节点。 querySelector 的优点是...

    javascript之querySelector和querySelectorAll使用说明

    需要注意的是,虽然`querySelector`和`querySelectorAll`在大部分现代浏览器中都得到了支持,但在早期版本的Internet Explorer(如IE8)中,对CSS选择器的支持有限,仅限于CSS2.1的选择器。在不支持这些API的旧版...

    各浏览器中querySelector和querySelectorAll的实现差异分析

    【querySelector和querySelectorAll详解...总的来说,理解并熟练运用 `querySelector` 和 `querySelectorAll` 可以极大地提升JavaScript操作DOM的效率和灵活性,特别是在处理复杂的选择器和需要高效查找元素的场景下。

    JS原生的强大DOM选择器querySelector.pdf

    `querySelector` 和 `querySelectorAll` 是JavaScript中用于DOM操作的两个强大方法,它们允许开发者使用CSS选择器的方式来选取DOM元素,极大地提高了代码的可读性和效率。这两个方法在现代浏览器中得到了广泛支持,...

    原生的强大DOM选择器querySelector介绍

    querySelector和querySelectorAll的优势在于它们能够处理复杂的CSS选择器,如组合选择器、伪类选择器等,这让开发者可以使用熟悉且强大的CSS语法来选取DOM元素。同时,这两个方法在现代浏览器中得到了广泛支持,包括...

    jQuery选择器querySelector的使用指南

    jQuery选择器querySelector的使用指南主要涵盖了在JavaScript中利用query选择器选取DOM元素的技巧和方法。文档首先说明了HTML5的WebAPI引入了两个新的方法:document.querySelector和document.querySelectorAll,这...

    Javascript颜色选择器

    总结一下,JavaScript颜色选择器是前端开发中的一个重要组件,它结合了JavaScript的交互性和颜色理论的实用性。通过理解JavaScript的基本原理和颜色选择器的实现机制,开发者可以有效地在网页中集成这一功能,提升...

    JavaScript 高级教程(HTML)

    DOM遍历、选择器API(如querySelector和querySelectorAll)以及事件委托是DOM操作的常用技巧。 异步编程在现代Web开发中至关重要。AJAX(异步JavaScript和XML)允许页面在不刷新的情况下与服务器交换数据并更新部分...

    JavaScript DOM+查询+语言参考手册+源码大全

    `JavaScript查询手册 2nd Edition.chm`是关于查询技术的进阶指南,它可能包含了更现代的选择器API,如querySelectorAll的使用,以及如何利用CSS选择器进行高效、精确的元素查找。同时,可能也涉及到了XPath等更复杂...

    JAvascript Dom编程艺术 图片库

    2. **选择元素**:学习各种选择元素的方法,如getElementById、getElementsByTagname、getElementsByClassName等,以及querySelector和querySelectorAll等更高级的选择器。 3. **元素操作**:掌握添加、删除、替换...

    精通JavaScript+jquery_02-10实例

    3. **DOM操作**:学习如何通过JavaScript获取和修改HTML元素,包括选择元素(querySelector, querySelectorAll)、创建和删除元素,以及更新元素的属性和内容。 4. **事件处理**:了解如何添加和移除事件监听器,...

Global site tag (gtag.js) - Google Analytics