document 代表当前的文档,使用 window 对象的 document 属性访问。
当浏览器加载后,会自动构建文档对象模型,把文档中每一个元素都映射到一个数据集合中,然后以 document 访问。 document 对象和它说包含的节点构成了早期的文档对象模型。
本 document 非 DOM 中的 document 。本 document 是早期的、非标准的、但被浏览器广泛支持的文档结构范文模式。而 DOM 是 W3C 组织制定的,标准化的文档结构类型,也获得了浏览器的广泛支持。两者共存于浏览器中,并出现了部分功能重叠。
这些集合就像是 HTMLCollection 对象,为访问文档常用对现象提供了快捷的方式,简单说明:
<a>
标签的<applet>
标签的,不在推荐使用<a>
如果与 From 对象、 Image 对象或 Applet 对象对应的 HTML 标签中设置了 name 属性,那么还可以使用 name 属性值引用这些对象。浏览器在解析文档时,会自动把这些元素的 name 属性值定义为 document 对象的属性名,用来引用相关的对象。该方法仅适用于上述三种对象,其它对象需要使用数组名来访问。
<img name="img" src="bg.gif" />
<form name="form" method="post" action="https://lmssee.cn/"></form>
<script>
console.log(document.img.src);
console.log(document.form.action);
</script>
<img src="bg.gif" alt="bg" />
<form action="https://lmssee.cn" method="post"></form>
<script>
console.log(document.images[0].src);
console.log(document.forms[0].action);
</script>
<img src="bg.gif" alt="bg" name="img" />
<form action="https://lmssee.cn" method="post" name="form"></form>
<script>
console.log(document.images['img'].src);
console.log(document.forms['form'].action);
</script>
document 对象的 write() 和 writeIn() 方法可动态生成文档内容。
writeIn() 和 write() 的使用方法是一样的,只不过在输出的参数后面天界了换行符。但 html 本身是忽略换行符的,所以很少使用。
只能在当前文档解析时才能使用 write() 方法在文档中输出 HTML 代码,即在 中调用 write 方法,因为这些脚本的执行是文档解析的一部分。如果是从事件处理函数中调用 write() 函数,那么 write() 方法动态输出的结果就是覆盖当前文档,包括它的时间函数,而不是将文本添加到其中。所以,使用时小心,且不可在事件处理函数中使用。