• Selectors API(querySelector()方法;querySelectorAll()方法) 元素遍历


     1 <!DOCTYPE html>
     2 <html>
     3 
     4     <head>
     5         <meta charset="utf-8" />
     6         <title>Selectors API(querySelector()方法;querySelectorAll()方法) 元素遍历</title>
     7     </head>
     8 
     9     <body>
    10 
    11     </body>
    12     <script>
    13         /*
    14         querySelector()方法接收一个 CSS选择符,返回与该模式匹配的第一个元素,如果没有找到匹配的元素,返回 null。
    15         querySelectorAll()方法接收的参数与 querySelector()方法一样,都是一个 CSS 选择符,但返回的是所有匹配的元素而不仅仅是一个元素。
    16         这个方法返回的是一个 NodeList 的实例。具体来说,返回的值实际上是带有所有属性和方法的 NodeList,而其底层实现则类似于一组元素
    17         的快照,而非不断对文档进行搜索的动态查询。这样实现可以避免使用 NodeList 对象通常会引起的大多数性能问题。
    18         与 querySelector()类似,能够调用 querySelectorAll()方法的类型包括 Document、DocumentFragment 和 Element。
    19          * */
    20         //取得 body 元素
    21         var body = document.querySelector("body");
    22         //取得 ID 为"myDiv"的元素
    23         var myDiv = document.querySelector("#myDiv");
    24         //取得类为"selected"的第一个元素
    25         var selected = document.querySelector(".selected");
    26         //取得类为"button"的第一个图像元素
    27         var img = document.body.querySelector("img.button");
    28         /*
    29          Selectors API Level 2 规范为 Element 类型新增了一个方法 matchesSelector()。这个方法接收
    30         一个参数,即 CSS 选择符,如果调用元素与该选择符匹配,返回 true;否则,返回 false。看例子。
    31         if (document.body.matchesSelector("body.page1")){
    32          //true
    33         } */
    34         /*
    35          元素遍历(详见javascript高级程序设计---DOM扩展)
    36          对于元素间的空格,IE9 及之前版本不会返回文本节点,而其他所有浏览器都会返回文本节点。这样,
    37 就导致了在使用 childNodes 和 firstChild 等属性时的行为不一致。为了弥补这一差异,而同时又保
    38 持 DOM 规范不变,Element Traversal 规范(www.w3.org/TR/ElementTraversal/)新定义了一组属性。
    39          * */
    40          
    41     </script>
    42 
    43 </html>
  • 相关阅读:
    Hibernate3 第一天
    Struts2第四天
    Struts2第二天
    Struts2第一天
    【剑指offer】数字在排序数组中出现的次数,C++实现
    【剑指offer】两个链表的第一个公共结点,C++实现
    【剑指offer】数组中的逆序对。C++实现
    [Python]定时任务框架 APScheduler
    [pandas] SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a DataFrame
    alicode35-找出二叉搜索树的第2大的数
  • 原文地址:https://www.cnblogs.com/gaoxuerong123/p/7809721.html
Copyright © 2020-2023  润新知