zoukankan      html  css  js  c++  java
  • 节点遍历 element traversal

    任何一个node节点都可以作为遍历的根(traversal root),然后遍历该节点本身以及后代元素,不能遍历祖先或者兄弟元素,方向可以反转

     
    <div id=”div1”>
    <p><b>Hello</b> world!</p>
    <ul>
    <li>List item 1</li>
    <li>List item 2</li>
    <li>List item 3</li>
    </ul>
    </div>
     
    使用NodeIterator遍历:
    var div = document.getElementById(“div1”);
    var iterator = document.createNodeIterator(div, NodeFilter.SHOW_ELEMENT, null, false);
     
    var node = iterator.nextNode();
    while (node !== null) {
    alert(node.tagName);               //output the tag name
    node = iterator.nextNode();
    }
     
    使用TreeWalker,更为先进的方案:
    var div = document.getElementById(“div1”);
    var walker = document.createTreeWalker(div, NodeFilter.SHOW_ELEMENT, null, false);
     
    walker.firstChild();                         //go to <p>
    walker.nextSibling();                      //go to <ul>
     
    var node = walker.fi rstChild();                        //go to fi rst <li>
    while (node !== null) {
    alert(node.tagName);
    node = walker.nextSibling();
    }
     
    walker.currentNode = document.body;       //change where to start from
  • 相关阅读:
    获取 checkbox 的选中个数(转)
    jsp+UEditor粘贴word
    php+UEditor粘贴word
    asp.net+ueditor word粘贴上传
    php+ueditor word粘贴上传
    java+ueditor word粘贴上传
    word发布博客
    在线富文本编辑器
    文件上传管理系统
    .net 文件夹上传
  • 原文地址:https://www.cnblogs.com/chuangweili/p/5166233.html
Copyright © 2011-2022 走看看