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>
めもめも。