深度優(yōu)先,遞歸遍歷網(wǎng)頁所有節(jié)點(diǎn)

   var blanks=[];
    function getChild(parent){
        console.log(blanks.join('')+
            (parent.nodeType!=3?
                         parent.nodeName:parent.nodeValue)
        ); 
        if(parent.childNodes.length>0){
            blanks.push("\t");//每次有子元素就加tab
            for(var i=0,len=parent.childNodes.length;i<len;i++){//先深度遍歷
                var child=parent.childNodes[i];
                getChild(child);            
            }
            blanks.pop();//遍歷一層后彈出tab
        }
    }
    getChild(document);

經(jīng)常用來遍歷不確定層級(jí)深度的樹形結(jié)構(gòu),如網(wǎng)頁元素,網(wǎng)盤文件夾,多級(jí)管理結(jié)構(gòu)


也可以用DOM Level2中的遍歷API
<p>
1.創(chuàng)建遍歷API對(duì)象;
var iterator=document.createNodeIterator(
開始的父節(jié)點(diǎn)對(duì)象,
whatToShow,
null,false
);
//whatToShow參數(shù):
// NodeFilter.SHOW_ELEMENT
// NodeFilter.SHOW_ALL
2.用while循環(huán),反復(fù)調(diào)用iterator.nextNode()方法
</p>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,030評(píng)論 25 709
  • 一直以來我都是一個(gè)對(duì)于老人很抗拒的人,對(duì)于變老我有著沒來由的恐懼,這種恐懼在某種程度上也成為了一種吸引力,所以,某...
    深海魚不吃魚閱讀 454評(píng)論 0 0
  • 總結(jié)2015年下半年所看書目 2015年,對(duì)于大環(huán)境來講是很嚴(yán)峻的一年。 2015年,對(duì)個(gè)人來講,是值得反思的一年...
    Yingboy閱讀 250評(píng)論 0 0
  • 佛經(jīng)中處處說到,修行中要以正見做向?qū)?,正見就是“智慧”。修行的目的是為斷除”貪嗔癡”。貪嗔癡要用智慧來斷除,缺乏智...
    ca9bf363f302閱讀 621評(píng)論 0 0
  • 陽光燦爛,空氣多么清新! 矯疾的燕子邊奮飛邊歌唱 從那威嚴(yán)的榆樹上我靜聽 藍(lán)鳥預(yù)言著陽春已經(jīng)在望 那邊的河這樣藍(lán),...
    夢(mèng)囈ricot閱讀 387評(píng)論 3 10

友情鏈接更多精彩內(nèi)容