JavaScript - 文档对象模型或DOM

每个网页都位于浏览器窗口内,可以将其视为对象。

Document对象表示该窗口中显示的HTML文档。 Document对象具有各种属性,这些属性引用允许访问和修改文档内容的其他对象。

文档内容的访问和修改方式称为文档对象模型 DOM 。对象按层次结构组织。此层次结构适用于Web文档中对象的组织。

  • 窗口对象&minus ;层次结构的顶部。它是对象层次结构中最外层的元素。

  • 文档对象 : 加载到窗口中的每个HTML文档都成为文档对象。该文档包含该页面的内容。

  • 表单对象 :  < form> ...</form>中包含的所有内容标签设置表单对象。

  • 表单控件元素 : 表单对象包含为该对象定义的所有元素,如文本字段,按钮,单选按钮和复选框。

这是一个一些重要对象的简单层次结构 :

HTML DOM

现有几个DOM。以下部分详细解释了每个DOM,并描述了如何使用它们来访问和修改文档内容。

  • Legacy DOM  : 这是在早期版本的JavaScript语言中引入的模型。所有浏览器都支持它,但只允许访问文档的某些关键部分,例如表单,表单元素和图像。

  • W3C DOM  : 该文档对象模型允许访问和修改所有文档内容,并由万维网联盟(W3C)标准化。几乎所有现代浏览器都支持此模型。

  • IE4 DOM  : 此文档对象模型是在Microsoft Internet Explorer浏览器的第4版中引入的。 IE 5及更高版本包括对大多数基本W3C DOM功能的支持。

DOM兼容性

如果您想编写一个可以灵活使用W3C DOM或IE 4 DOM的脚本,具体取决于它们的可用性,那么您可以使用一种能力测试方法,首先检查方法或属性是否存在,以确定浏览器是否具有你想要的能力。例如 :

if(document.getElementById){
    //如果存在W3C方法,请使用
} else if(document.all){
    //如果all[]数组存在,请使用
} else {
    //否则使用旧版DOM 
}