JS技术

javascript DOM 之createTreeWalker 搜索优化

字号+ 作者: 来源: 2014-11-16 22:20 我要评论( )

javascript DOM Level 2 之createTreeWalker和createNodeIterator 深度搜索节点 注意:createTreeWalker和createNodeIterator都不支持IE6

javascript DOM Level 2 之createTreeWalker 深度搜索节点

注意:createTreeWalker和createNodeIterator都不支持IE6

function makelist(id,showid)
{
var oDiv = document.getElementById(id);
var oFilter = new Object;
oFilter.acceptNode = function (oNode)
{
 
//用于过滤禁止的tagName
return (oNode.tagName == "P" ) ? NodeFilter.FILTER_REJECT : NodeFilter.FILTER_ACCEPT ;
};
walker = document.createTreeWalker(oDiv,NodeFilter.SHOW_ELEMENT,oFilter,false);
var output = document.getElementById(showid);
var oNode = walker.nextNode();
var str='',innerTextStr='';
while(oNode)
{
 
innerTextStr = (oNode.innerText)? oNode.innerText : oNode.textContent;
str += oNode.tagName+':'+innerTextStr+'\n';
oNode = walker.nextNode();
};
output.innerHTML=str;
 
}
<div id="a1">1</div>
<div id="a2">2</div>
<div id="a3">3</div>
 
<div id="list">
<p>hello <strong>word</strong></p>
<ul>
<li>list 1</li>
<li>list 2</li>
<li>list 3</li>
 
</ul>
 
</div>
<div id="showNode"></div>
<input type="button" onclick="makelist('list','showNode')" value="显示节点" />

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 老生常谈,JavaScript闭包中的this对象

    老生常谈,JavaScript闭包中的this对象

    2016-02-26 10:21

  • 学习JavaScript之this,call,apply

    学习JavaScript之this,call,apply

    2016-01-28 20:45

  • JavaScript复习笔记--字符串

    JavaScript复习笔记--字符串

    2016-01-27 17:16

  • WEB前端教程-JavaScript里的类和继承

    WEB前端教程-JavaScript里的类和继承

    2016-01-21 15:28

网友点评
-