js原生的强大dom选择器queryselector

js原生的强大dom选择器queryselector

ID:8794929

大小:38.96 KB

页数:6页

时间:2018-04-08

js原生的强大dom选择器queryselector_第1页
js原生的强大dom选择器queryselector_第2页
js原生的强大dom选择器queryselector_第3页
js原生的强大dom选择器queryselector_第4页
js原生的强大dom选择器queryselector_第5页
资源描述:

《js原生的强大dom选择器queryselector》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、在传统的JavaScript开发中,查找DOM往往是开发人员遇到的第一个头疼的问题,原生的JavaScript所提供的DOM选择方法并不多,仅仅局限于通过tag,name,id等方式来查找,这显然是远远不够的,如果想要进行更为精确的选择不得不使用看起来非常繁琐的正则表达式,或者使用某个库。事实上,现在所有的浏览器厂商都提供了querySelector和querySelectorAll这两个方法的支持,甚至就连微软也派出了IE8作为支持这一特性的代表,querySelector和querySelectorAll作为查找DOM的又一途径,极大地方便了开发者,使用它们

2、,你可以像使用CSS选择器一样快速地查找到你需要的节点。querySelector和querySelectorAll的使用非常的简单,就像标题说到的一样,它和CSS的写法完全一样,对于前端开发人员来说,这是难度几乎为零的一次学习。假如我们有一个id为test的DIV,为了获取到这个元素,你也许会像下面这样:viewsourceprint?1document.getElementById("test");现在我们来试试使用新方法来获取这个DIV:viewsourceprint?1document.querySelector("#test");2document.q

3、uerySelectorAll("#test")[0];下面是个小演示:我是id为test的div感觉区别不大是吧,但如果是稍微复杂点的情况,原始的方法将变得非常麻烦,这时候querySelector和querySelectorAll的优势就发挥出来了。比如接下来这个例子,我们将在document中选取class为test的div的子元素p的第一个子元素,当然这很拗口,但是用本文的新方法来选择这个元素,比用言语来描述它还要简单。viewsourceprint?1document.querySelector("div.test>p:first-child");2d

4、ocument.querySelectorAll("div.test>p:first-child")[0];下面是个小演示:我是层里的p标签现在应该对于querySelector、querySelectorAll方法中的参数已经非常明白了,是的,它接收的参数和CSS选择器完全一致。querySelector和querySelectorAll的区别在于querySelector用来获取一个元素,而querySelectorAll可以获取多个元素。querySelector将返回匹配到的第一个元素,如果没有匹配的元素则返回Null。querySelectorAll返

5、回一个包含匹配到的元素的数组,如果没有匹配的元素则返回的数组为空。在本文最后一个例子中,我们使用querySelectorAll给所有class为emphasis的元素加粗显示。viewsourceprint?1varemphasisText=document.querySelectorAll(".emphasis");2for(vari=0,j=emphasisText.length;i

6、C的规范与库中的实现querySelector:returnthefirstmatchingElementnodewithinthenode’ssubtrees.Ifthereisnosuchnode,themethodmustreturnnull.(返回指定元素节点的子树中匹配selector的集合中的第一个,如果没有匹配,返回null)querySelectorAll:returnaNodeListcontainingallofthematchingElementnodeswithinthenode’ssubtrees,indocumentorder.Ift

7、herearenosuchnodes,themethodmustreturnanemptyNodeList.(返回指定元素节点的子树中匹配selector的节点集合,采用的是深度优先预查找;如果没有匹配的,这个方法返回空集合)这在BaseElement为document的时候,没有什么问题,各浏览器的实现基本一致;但是,当BaseElement为一个普通的domNode的时候(支持这两个方法的domNode),浏览器的实现就有点奇怪了,举个例子:viewsourceprint?01 02     

8、Test

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。