zoukankan      html  css  js  c++  java
  • 怎样创建一个子节点遍历器

    使用: document.createNodeIterator(); 通过传入一个根节点, 返回这个根节点的子节点遍历器, 然后通过其方法: nextNode() 和 previousNode() 遍历其子节点;

    var nodeIterator = document.createNodeIterator(
      document.body,
      NodeFilter.SHOW_ELEMENT
    );

    其中, 第二个参数表示生成的子节点遍历器的类型, 因为节点有七种类型, 除开几个不能作为子节点的节点, 这个参数可以是: 

    1. 所有节点: NodeFilter.SHOW_ALL

    2. 元素节点: NodeFilter.SHOW_ELEMENT

    3. 文本节点: NodeFilter.SHOW_TEXT

    4. 注释节点: NodeFilter.SHOW_COMMENT

    下面是具体的遍历写法: 

    var nodeIterator = document.createNodeIterator(document.body);
    var pars = [];
    var currentNode;
    
    while (currentNode = nodeIterator.nextNode()) {
      pars.push(currentNode);
    }
    var nodeIterator = document.createNodeIterator(
      document.body,
      NodeFilter.SHOW_ELEMENT
    );
    
    var currentNode = nodeIterator.nextNode();
    var previousNode = nodeIterator.previousNode();
    
    currentNode === previousNode // true
  • 相关阅读:
    工厂方法模式
    命名空间的规划
    Download Manager
    Intent(二)
    Intent (一)
    Fragment (一)
    修改环境变量需不需要重启电脑
    Spring mvc和SSH如何取舍?
    ORA-01795: 列表中的最大表达式数为1000的解决方法详解
    apache与tomcate的区别
  • 原文地址:https://www.cnblogs.com/aisowe/p/11547422.html
Copyright © 2011-2022 走看看