通过 HTML DOM,JavaScript 能够访问和改变 HTML 文档的所有元素。
HTML DOM(文档对象模型)
当网页被加载时,浏览器会创建页面的文档对象模型(_D_ocument _O_bject _M_odel)。
HTML DOM 模型被结构化为_对象树_:
对象的 HTML DOM 树
通过这个对象模型,JavaScript 获得创建动态 HTML 的所有力量:
- JavaScript 能改变页面中的所有 HTML 元素
- JavaScript 能改变页面中的所有 HTML 属性
- JavaScript 能改变页面中的所有 CSS 样式
- JavaScript 能删除已有的 HTML 元素和属性
- JavaScript 能添加新的 HTML 元素和属性
- JavaScript 能对页面中所有已有的 HTML 事件作出反应
- JavaScript 能在页面中创建新的 HTML 事件
您将学到什么
在本教程下面的章节中,您将学到:
- 如何改变 HTML 元素的内容
- 如何改变 HTML 元素的样式(CSS)
- 如何对 HTML DOM 事件作出反应
- 如何添加和删除 HTML 元素
什么是 DOM?
DOM 是一项 W3C (World Wide Web Consortium) 标准。
DOM 定义了访问文档的标准:
“W3C 文档对象模型(DOM)是中立于平台和语言的接口,它允许程序和脚本动态地访问、更新文档的内容、结构和样式。”
W3C DOM 标准被分为 3 个不同的部分:
- Core DOM - 所有文档类型的标准模型
- XML DOM - XML 文档的标准模型
- HTML DOM - HTML 文档的标准模型
什么是 HTML DOM?
HTML DOM 是 HTML 的标准_对象_模型和_编程接口_。它定义了:
- 作为_对象_的 HTML 元素
- 所有 HTML 元素的_属性_
- 访问所有 HTML 元素的_方法_
- 所有 HTML 元素的_事件_
换言之:HTML DOM 是关于如何获取、更改、添加或删除 HTML 元素的标准。
HTML DOM 方法是您能够(在 HTML 元素上)执行的_动作_。
HTML DOM 属性是您能够设置或改变的 HTML 元素的_值_。
DOM 编程界面
HTML DOM 能够通过 JavaScript 进行访问(也可以通过其他编程语言)。
在 DOM 中,所有 HTML 元素都被定义为_对象_。
编程界面是每个对象的属性和方法。
_属性_是您能够获取或设置的值(就比如改变 HTML 元素的内容)。
_方法_是您能够完成的动作(比如添加或删除 HTML 元素)。
实例
下面的例子改变了 id=“demo” 的
元素的内容:
<html>
<body>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = "Hello World!";
</script>
</body>
</html>
在上面的例子中,getElementById
是_方法_,而 innerHTML
是_属性_。
getElementById 方法
访问 HTML 元素最常用的方法是使用元素的 id。
在上面的例子中,getElementById
方法使用 id=“demo” 来查找元素。
innerHTML 属性
获取元素内容最简单的方法是使用 innerHTML
属性。
innerHTML
属性可用于获取或替换 HTML 元素的内容。
innerHTML
属性可用于获取或改变任何 HTML 元素,包括 <html>
和 <body>
。