广

JavaScript

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    querySelector和querySelectorAll

    2018-04-13 09:17:29 次阅读 稿源:互联网
    零七广告

    CSS 选择器规范,便捷定位文档中指定元素。

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

    其实就是任何 NodeList 、Element 的实例对象和 Document DocumentFragment 的实例对象都有这两个方法。如:

  • document.querySelector
  • nodeList.querySelector
  • element.querySelector

    如何用 querySelectorAll 或 querySelector呢?来看个例子:

    哈哈,是不是很好用啊。

    这与使用 和querySelectorAll 结果一致。

    JAVASCRIPT CODE:var foo= document.getElementById("foo");foo.querySelectorAll("div > p");// 返回 [<p>This is a sample warning</p>,<p >This is a sample error</p>]

    玩砸了……为什么两者返回结果不一致了呢?

    等等,我们还是先看看规范定义怎么说: : when invoked, return a NodeList containing all of the matching Element nodes within the node’s subtrees, in document order. 还有一句

     

  • 然后对比 <div id="foo"> 节点的子树中是否含有这些 p 元素。<div id="foo"> 节点的子树中仅含有[<p>This is a sample warning</p>, <p >This is a sample error</p>],那么就返回他们吧。这与之前问题例子返回结果一致。

    这次的例子是在 <div id="foo"> 节点下寻找 html 标签中的body 标签中的 div 标签的直接子标签 P。

    这与规范说明一致。

    对于 Element 下的选择器范围,JQuery 认为是从当前元素开始查找,返回符合的结果集。而规范恰恰指出的是选择器只针对当前文档,选择出的结果集再与当前元素的子树比较。

  • 零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告