tetsunosukeのnotebook

tetsunosukeのメモです

JavaScriptのDOMを文書解析してみるよ、のメモ。

<html>
<head>
<script type="text/javascript">
window.onload = function(){
    var dom = document.getElementById("body");
    debug(dom);    

    dumpChild(dom,0);
}

function dumpChild( dom, level ){
    var node;
    var str = "";
    var i = 0;
    
    node = dom;
    while(true){
        for(i=0; i < level;i++){ str += '+'; }
        
        debug(node.nodeName);
        
        if(node.nodeValue){
            debug("ノード値:" + node.nodeValue);
        } else {
            debug("ノード値なし");
        }
        
        if(node.hasChildNodes()){
            debug("子ノードアリ。再帰探索開始");
            dumpChild(node.firstChild, ++level);
        } else {
            debug("子ノードナシ");
        }
        
        node = node.nextSibling;
        debug("次要素探索...");
        if(node == null){ break;}
    }

}

function debug(str){
    var display = document.getElementById("display");
    display.innerHTML += str + "\n";
}
</script>
</head>
<body id="body">    
<ul>
<li>before<strong>strong</strong>after</li>
	<li>before<strong>strong</strong>after</li>
</ul>
<pre id="display">
</pre>
</body>
</html>

めもめも。