zoukankan      html  css  js  c++  java
  • javascript之querySelector和querySelectorAll

    其实关于querySelector和querySelectorAll的介绍说明很多。

    在此主要是做个记录。

    一开始很多人都会拿jquery的选择器来跟这两个api做对比(我也是),比较异同本来没事,但却使一些同学对这两个api在浏览器中的实现产生了误解,特别是再dom element上调用此api时。

    下面是我的jsFiddle示例,我就以此展开说明:

    误解就在于对$('inner').querySelectorAll('#main h4.inside')的实现理解,不少人一开始几乎都认为是直接从div[id='inner']的孩子中进行查找(我也是),这个#main有点碍眼。实际上它还是根据selector string从整个document上查找,再返回属于div[id='inner']的子节点。很多人会疑惑,那么为什么不按照直接按父节点找子节点的方式来实现呢?就像elem.getElementsByTagName,我的想法是灵活selector string吧。

    querySelector只返回匹配的第一个元素,如果没有匹配项,返回null。

    querySelectorAll返回匹配的元素集合,如果没有匹配项,返回空的nodelist(节点数组)。

    并且返回的结果是静态的,之后对document结构的改变不会影响到之前取到的结果。

    目前IE8+,ff,chrome都支持此api(IE8中的selector string只支持css2.1的)。

  • 相关阅读:
    异常处理机制中的return关键字
    QuickHit 项目
    kali2.0升级
    sslscan
    RC4弱密码套件检测
    CVE-2017-11882漏洞复现
    应急响应小总结
    服务器日志分析
    《x86汇编语言:从实模式到保护模式 》学习笔记之:第一次编写汇编语言
    nasm不是内部或外部命令
  • 原文地址:https://www.cnblogs.com/AndyWithPassion/p/javascript_querySelector_querySelectorAll.html
Copyright © 2011-2022 走看看