我有代码html代码:
<!DOCTYPE html>
<html><head></head><body><script src="index.js"></script></body></html>
index.js中的javascript代码:
console.log(document)// HTMLDocument
console.log(document.childNodes[0])//Object DocumentType
但是当我在html代码中删除Doctype并运行console.log(document.childNodes[0]) i get HTML elements
这一切意味着什么?为什么文档有childNodes? 什么是真正的javascript文档?
答案 0 :(得分:7)
document.childNodes[0]
是该页面的第一个元素。如果有<!DOCTYPE html>
,那么这是第一个元素,因此它返回DocumentType。
如果DOCTYPE
不存在,则第一个元素是<html>
标记。因此document.childNodes[0]
是页面的元素,因为所有其他标记都包含在html
标记中(但DOCTYPE
标记中不包含任何内容)