码迷,mamicode.com
首页 > Web开发 > 详细

js node 节点 原生遍历 createNodeIterator

时间:2019-08-23 10:26:40      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:简单的   ase   简单   class   null   ace   text   col   eth   

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

标签:简单的   ase   简单   class   null   ace   text   col   eth   

原文地址:https://www.cnblogs.com/cbugs/p/11398353.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!