2007/01/10 17:34 | 웹개발

var oT = document.getElementById("foo");
var vTmp;

for (vTmp in oT.childNodes) {
    oT.childNodes[vTmp] ....
}

이렇게 하면 Safari에서 동작하지 않는다.

Safari에서 동작하게 하려면

for(vTmp=0; vTmp < oT.childNodes.length; vTmp++) {
    oT.childNodes[vTmp] ...
}

이렇게 해야 한다.

왜 그럴까?

정확히 밝혀낸건지 모르겠지만, typeof를 해 보면 알 수 있다.
Safari에서 DOM 객체의 childNodes는 object가 아니라 function 이라고 나온다.

alert(typeof oT.childNodes)

Safari에서는 childNodes를 function으로 인지 하지만 이게 문제가 되는거 같지는 않고... 어쨌든 위의 내용은 주의할 필요가 있다.

2007/01/10 17:34 2007/01/10 17:34
Trackback Address :: http://dream.ahboom.net/trackback/3