이를 참조하십시오
http://jsbin.com/igeqa왜이 자바 스크립트가 FF와 IE에서 다른 출력을 생성합니까?
여기, 내가 단순히
alert (tableObj.childNodes.length);
및 출력이 5
입니다 FF에서
2
된다. 이 문제의 원인을 알려주십시오.
이를 참조하십시오
http://jsbin.com/igeqa왜이 자바 스크립트가 FF와 IE에서 다른 출력을 생성합니까?
여기, 내가 단순히
alert (tableObj.childNodes.length);
및 출력이 5
입니다 FF에서
2
된다. 이 문제의 원인을 알려주십시오.
Firefox는 공백 문자 노드를 계산하지만 IE는 요소를 계산합니다. 따라서 Firefox는 [# 텍스트, THEAD, # 텍스트, TBODY, # 텍스트]를 반환하고 IE는 [THEAD, TBODY] 만 반환합니다.
IE와 Moz는 HTML 문서에서 childNodes를 다른 방식으로 계산합니다. Moz는 모든 빈 공간 (가능한 textNodes)을 childNode로 계산하지만 IE는 일부만 계산합니다. 이를위한 몇 가지 해결책이 있습니다.
'404 - 파일을 찾을 수 없다. ' –
awesome! 받아 들였다. 그것은 우리가'childNodes' 속성에 대해 회신하지 말아야한다는 것을 의미합니다. –
childNodes에 의존하는 것이 좋습니다. 자식 노드를 처리하는 코드에서 "node.nodeType == 1"(요소 노드)가 요소인지 확인하십시오. if 당신은 텍스트 노드, 주석 노드 등을 얻고 싶지 않다. – Annie
덕분에, 나는 childNodes 대신 getElementsBytagName을 사용할 것이다. –