//创建迭代器对象
var iterator = document.createNodeIterator(document.body, NodeFilter.SHOW_ELEMENT,null,false);
//createNodeIterator(root, whatToShow, filter,entityReferenceExpansion);
//用到的四个参数意义如下:
1、root:从树中的哪个节点开始搜索;
2、whatToShow:一个数值代码,代表哪些节点需要搜索,可以有下列这些常量或其组合的取值;
// 1、NodeFilter.SHOW_ALL:搜索所有节点;
// 2、NodeFilter.SHOW_ELEMENT:搜索元素节点;
// 3、NodeFilter.SHOW_ATRRIBUTE:搜索特性节点;
// 4、NodeFilter.SHOW_TEXT:搜索文本节点;
// 5、NodeFilter.SHOW_ENTITY_REFERENCE:搜索实体引用节点;
// 6、NodeFilter.SHOW_ENTITY:搜索实体节点;
// 7、NodeFilter.SHOW_PROCESSING_INSTRUCTION:搜索PI节;
// 8、NodeFilter.SHOW_COMMENT:搜索注释节点;
// 9、NodeFilter.SHOW_DOCUMENT:搜索文档节点;
// 10、NodeFilter.SHOW_DOCUMENT_TYPE:搜索文档类型节点;
// 11、NodeFilter.SHOW_DOCUMENT_FRAGMENT:搜索文档碎片节节;
// 12、NodeFilter.SHOW_NOTATION:搜索记号节点
3、filter:NodeFilter对象,用来决定需要忽略哪些节点;
4、entityReferenceExpansion:布尔值,表示是否需要扩展实体引用;
while(true) {
varnode = iterator.nextNode();//通过创建的iterator对象,利用方法nextNode()自动把节点指向下一个节点,如果没找到返回null
//yourcode--start--------------------
about node code
//yourcode--end------------------
if(!node) { //当node == null,退出循环
break;
}
}