js node 节点 原生遍历 createNodeIterator

Posted cbugs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js node 节点 原生遍历 createNodeIterator相关的知识,希望对你有一定的参考价值。

1、createIterator

    msn:

    https://developer.mozilla.org/en-US/docs/Web/API/Document/createNodeIterator

  var filter = function(node)

return node.tagName.toLowerCase() == p ?
    NodeFilter.FILTER_ACCEPT:
    NodeFilter.FILTER_REJECT;



var iterator = document.createNodeIterator(root, NodeFilter.SHOW_ELEMENT, filter, false);

var node = iterator.nextNode();

while(node !== null)
    console.log( node.tagName ); 
// node 的属性 与方法 详见 2 nodeFilter node = iterator.nextNode(); ———————————————— 基于此,可以简单的做为 web node 节点的数据 采集

 

1、nodeFilter

    msn:

    https://developer.mozilla.org/en-US/docs/Web/API/NodeFilter

   

var nodeIterator = document.createNodeIterator(
  // Node to use as root
  document.getElementById(someId),

  // Only consider nodes that are text nodes (nodeType 3)
  NodeFilter.SHOW_TEXT,

  // Object containing the function to use for the acceptNode method
  // of the NodeFilter
     acceptNode: function(node) 
      // Logic to determine whether to accept, reject or skip node
      // In this case, only accept nodes that have content
      // other than whitespace
      if ( ! /^\s*$/.test(node.data) ) 
        return NodeFilter.FILTER_ACCEPT;
      
    
  ,
  false
);

// Show the content of every non-empty text node that is a child of root
var node;

while ((node = nodeIterator.nextNode())) 
  alert(node.data);

 3、element

  msn: https://developer.mozilla.org/zh-CN/docs/Web/API/Element

while(node !== null)
    console.log( node.tagName ); 
   //node.tagName  等于 element.tagName 
  // element 的属性 与方法 详见 3、

    node = iterator.nextNode();

 

 

 

  

 

 

sfd

以上是关于js node 节点 原生遍历 createNodeIterator的主要内容,如果未能解决你的问题,请参考以下文章

原生JS中DOM节点相关API合集

原生JS中DOM节点相关API合集

前端开发常用原生JS API合集

js之原生节点操作

求最简单的方法进行原生js 循环遍历树(json数据)

js原生dom方法总结