JavaScript 재귀함수 예시

Posted by ironmask84
2015. 7. 20. 14:39 나는 프로그래머다!/HTML5



<!DOCTYPE html>
<html>
<body id="start">
<ul>
    <li><a href="./532">html</a></li>
    <li><a href="./533">css</a></li>
    <li><a href="./534">JavaScript</a>
        <ul>
            <li><a href="./535">JavaScript Core</a></li>
            <li><a href="./536">DOM</a></li>
            <li><a href="./537">BOM</a></li>
        </ul>
    </li>
</ul>
<script>
function traverse(target, callback){
    if(target.nodeType === 1){        // ===으로 사용하는 것 주의 nodeType이 1이면, Element Node 이다.
                                                 // (http://ironmask84.net/admin/entry/post/?id=214 참고)
        //if(target.nodeName === 'A')    // a 태그만 추출
        callback(target);
        var c = target.childNodes;
        for(var i=0; i<c.length; i++){
            traverse(c[i], callback);       // 재귀함수 호출
        }  
    }
}
traverse(document.getElementById('start'), function(elem){
    console.log(elem);
});
</script>
</body>
</html>