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="显示节点" />
相关文章

精彩导读
热门资讯
关注我们