2013-10-21 2 views
-1

아래 코드는 제 코드입니다. 나는 var html이 document.childNodes [0]와 같지 않은 이유를 모른다. 그것은 틀린 것을 계속 돌려 보낸다. 어떤 도움이 필요합니까?html이 document.childNode와 동일하지 않습니다. [0]

<!DOCTYPE html> 
<html> 
<head> 

    <title></title> 
</head> 
<body> 

</body> 
<script type="text/javascript"> 
    var html = document.documentElement; 
    alert(html === document.childNodes[0]); 
    alert(html === document.firstChild); 
</script> 
</html> 
+0

? 당신은 대개 그런 테스트를하지 않습니다. –

+0

나는 JS를 공부하고 있는데 이것은 책의 한 예이다. 그것은 나에게 의미가 없습니다. –

답변

3

첫 번째 노드가 DOCTYPE 선언이므로.

HTML 요소는 문서에 document.childNodes[1]입니다.

document.documentElement 또한 HTML 문서의 html 요소가 원하는 경우 더 신뢰할 수 있습니다 (the MDN 참조).

+0

항상 그렇지는 않습니다.'document.childNodes [1]'은'DOCTYPE'과''요소 사이에 주석이 있으면 예상 값을 출력하지 않습니다. –

+0

네,이 사건은 아무런 코멘트가 없으므로 작동합니다! –

2

이 시도 :

이 당신의 진짜 목표는 무엇입니까
alert(html === document.firstElementChild); 
관련 문제