HTML DOM是HTML Document Object Model(文档对象模型)的缩写,定义了访问和操作 HTML 文档的标准方法。
DOM 以树结构表达 HTML 文档。
学习 100 个实例!使用51coolma的编辑器,你可以编辑 HTML 文档,然后单击 "尝试一下" 按钮来查看结果,点击灯泡可进行开关。
100个在线实例!
在 W3CSchool 中, 我们提供了完整的HTML DOM 参考手册并且附带了在线实例。
HTML DOM 定义了访问和操作 HTML 文档的标准。
在您开始学习HTML DOM之前,您需要对以下内容拥有基本的了解:
如果您需要首先学习这些项目,也可以访问我们的首页学习相关的微课。
DOM 是 W3C(万维网联盟)的标准。
DOM 定义了访问 HTML 和 XML 文档的标准:
"W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。"
W3C DOM 标准被分为 3 个不同的部分:
编者注:DOM 是 Document Object Model(文档对象模型)的缩写。
XML DOM 定义了所有 XML 元素的对象和属性,以及访问它们的方法。
如果您需要学习 XML DOM,请访问我们的 XML DOM 教程。
HTML DOM 是:
HTML DOM 定义了所有 HTML 元素的对象和属性,以及访问它们的方法。
换言之,HTML DOM 是关于如何获取、修改、添加或删除 HTML 元素的标准。
接下来让我们开始学习HTML DOM节点。
在 HTML DOM 中,所有事物都是节点。DOM 是被视为节点树的 HTML。
根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:
HTML DOM 将 HTML 文档视作树结构。这种结构被称为节点树:
节点树中的节点彼此拥有层级关系。
父(parent)、子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。
下面的图片展示了节点树的一部分,以及节点之间的关系:
请看下面的 HTML 片段:
<html> <head> <title>DOM Tutorial</title> </head> <body> <h1>DOM Lesson one</h1> <p>Hello world!</p> </body> </html>
从上面的 HTML片段可以看出:
并且:
并且:
DOM 处理中的常见错误是希望元素节点包含文本。
在本例中:<title>DOM 教程</title>,元素节点 <title>,包含值为 "DOM 教程" 的文本节点。
可通过节点的 innerHTML 属性来访问文本节点的值。
您将在稍后的章节中学习更多有关 innerHTML 属性的知识。
HTML DOM方法是我们可以在节点(HTML 元素)上执行的动作,学习HTML DOM方法对您学习HTML DOM是必不可少的,开始您的学习吧!
可通过 JavaScript (以及其他编程语言)对 HTML DOM 进行访问。
所有 HTML 元素被定义为对象,而编程接口则是对象方法和对象属性。
方法是您能够执行的动作(比如添加或修改元素)。
属性是您能够获取或设置的值(比如节点的名称或内容)。
getElementById() 方法返回带有指定 ID 的元素:
一些常用的 HTML DOM 方法:
一些常用的 HTML DOM 属性:
您将在本教程的下一章中学到更多有关属性的知识。
某个人是一个对象。
人的方法可能是 eat(), sleep(), work(), play() 等等。
所有人都有这些方法,但会在不同时间执行它们。
一个人的属性包括姓名、身高、体重、年龄、性别等等。
所有人都有这些属性,但它们的值因人而异。
这里提供一些您将在本教程中学到的常用方法:
方法 | 描述 |
---|---|
getElementById() | 返回带有指定 ID 的元素。 |
getElementsByTagName() | 返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。 |
getElementsByClassName() | 返回包含带有指定类名的所有元素的节点列表。 |
appendChild() | 把新的子节点添加到指定节点。 |
removeChild() | 删除子节点。 |
replaceChild() | 替换子节点。 |
insertBefore() | 在指定的子节点前面插入新的子节点。 |
createAttribute() | 创建属性节点。 |
createElement() | 创建元素节点。 |
createTextNode() | 创建文本节点。 |
getAttribute() | 返回指定的属性值。 |
setAttribute() | 把指定属性设置或修改为指定的值。 |
上表中的HTML DOM常用的对象方法非常有用,所以您不能够记下来,那么最好能够收藏起来,或者保存网页到收藏夹,以便日后查找!
上一节我们学习了HTML DOM方法,现在我们一起来学习一下HTML DOM 属性。
属性是节点(HTML 元素)的值,您能够获取或设置。
可通过 JavaScript (以及其他编程语言)对 HTML DOM 进行访问。
所有 HTML 元素被定义为对象,而编程接口则是对象方法和对象属性。
方法是您能够执行的动作(比如添加或修改元素)。
属性是您能够获取或设置的值(比如节点的名称或内容)。
获取元素内容的最简单方法是使用 innerHTML 属性。
innerHTML 属性对于获取或替换 HTML 元素的内容很有用。
下面的代码获取 id="intro" 的 <p> 元素的 innerHTML:
在上面的例子中,getElementById 是一个方法,而 innerHTML 是属性。
innerHTML 属性可用于获取或改变任意 HTML 元素,包括 <html> 和 <body>。 |
nodeName 属性规定节点的名称。
注意事项: nodeName 始终包含 HTML 元素的大写字母标签名。
nodeValue 属性规定节点的值。
下面的例子会取回 <p id="intro"> 标签的文本节点值:
nodeType 属性返回节点的类型,nodeType 是只读的。
下表是比较重要的节点类型:
元素类型 | NodeType |
---|---|
元素 | 1 |
属性 | 2 |
文本 | 3 |
注释 | 8 |
文档 | 9 |
访问 HTML DOM - 查找 HTML 元素。
访问 HTML 元素等同于访问节点
您可以以不同的方式来访问 HTML 元素,如:
getElementById() 方法返回带有指定 ID 的元素:
下面的例子获取 id="intro" 的元素,点击“尝试一下”可进行编辑:
getElementsByTagName() 返回带有指定标签名的所有元素。
下面的例子返回包含文档中所有 <p> 元素的列表,点击“尝试一下”可进行编辑:
下面的例子返回包含文档中所有 <p> 元素的列表,并且这些 <p> 元素应该是 id="main" 的元素的后代(子、孙等等),点击“尝试一下”可进行编辑:
如果您希望查找带有相同类名的所有 HTML 元素,可以使用这个方法进行查找:
上面的例子返回包含 class="intro" 的所有元素的一个列表:
注意事项:getElementsByClassName() 在 Internet Explorer 5,6,7,8 中无效。
学完本节,您将了解:如何修改 HTML = 改变元素、属性、样式和事件。
修改 HTML DOM 意味着许多不同的方面:
在接下来的章节,我们会深入学习修改 HTML DOM 的常用方法。
改变元素内容,最简单的方法是使用 innerHTML 属性。
下面的例子改变一个 <p> 元素的 HTML 内容:
我们将在下面的章节为您解释例子中的细节,看完之后希望您能够对上述例子有更深的理解。 |
通过 HTML DOM,您能够访问 HTML 元素的样式对象。
下面的例子改变一个段落的 HTML 样式,您可以尝试进行修改:
<p id="p2">Hello world!</p>
<script>
document.getElementById("p2").style.color="blue";
</script>
</body>
</html>
如果需要向 HTML DOM 添加新元素,您首先必须创建该元素(元素节点),然后把它追加到已有的元素上。
学习HTML DOM 修改,建议您多动手进行练习,最好能够将本节的几个实例都操作一遍。
通过 HTML DOM,JavaScript 能够访问 HTML 文档中的每个元素。
改变元素内容的最简单的方法是使用 innerHTML 属性。
下面的例子更改 <p> 元素的 HTML 内容:
通过 HTML DOM,您能够访问 HTML 对象的样式对象。
下面的例子更改段落的 HTML 样式:
<p id="p2">Hello world!</p>
<script>
document.getElementById("p2").style.color="blue";
</script>
</body>
</html>
HTML DOM 允许您在事件发生时执行代码。
当 HTML 元素"有事情发生"时,浏览器就会生成事件:
你可以在下一章学习更多有关事件的内容。
下面两个例子在按钮被点击时改变 <body> 元素的背景色:
在本例中,由函数执行相同的代码:
下面的例子在按钮被点击时改变 <p> 元素的文本:
以上5个实例能够帮助您更好地理解如何修改HTML内容,建议您多仔细看几遍,并动手操作一下再进行下一章节HTML DOM元素的学习
本节您将要学习的是如何添加、删除和替换 HTML 元素。
如果您需要向 HTML DOM 添加新元素,您首先必须创建该元素,然后把它追加到已有的元素上。
这段代码创建了一个新的 <p> 元素:
如需向 <p> 元素添加文本,您首先必须创建文本节点。这段代码创建文本节点:
然后您必须向 <p> 元素追加文本节点:
最后,您必须向已有元素追加这个新元素。
这段代码查找到一个已有的元素:
这段代码向这个已存在的元素追加新元素:
看完上面的实例解析,您最好能够再看一遍实例,动手操作一下!
上一个例子中的 appendChild() 方法,将新元素作为父元素的最后一个子元素进行添加。
如果不希望如此,您可以使用 insertBefore() 方法:
如果您需要删除 HTML 元素,您必须清楚该元素的父元素,点击尝试一下:
<script>
var parent=document.getElementById("div1");
var child=document.getElementById("p1");
parent.removeChild(child);
</script>
这个 HTML 文档包含一个带有两个子节点(两个 <p> 元素)的 <div> 元素:
查找 id="div1" 的元素:
查找 id="p1" 的 <p> 元素:
从父元素中删除子元素:
看完上面的实例解析,您最好能够再看一遍实例,动手操作一下!
能否在不引用父元素的情况下删除某个元素? 很抱歉。DOM 需要了解您需要删除的元素,以及它的父元素。 |
这里提供一个常用的解决方法:找到您需要删除的子元素,然后使用 parentNode 属性来查找其父元素:
如果您需要替换 HTML DOM 中的元素,请使用 replaceChild() 方法:
HTML DOM 允许 JavaScript 对 HTML 事件作出反应。
当事件发生时,可以执行 JavaScript,比如当用户点击一个 HTML 元素时。
如果您需要在用户点击某个元素时执行代码,请把 JavaScript 代码添加到 HTML 事件属性中:
HTML 事件的例子:
在本例中,当用户点击时,会改变 <h1> 元素的内容:
在本例中,会从事件处理程序中调用函数:
如果您需要向 HTML 元素分配事件,您可以使用事件属性。
在上面的例子中,当点击按钮时,会执行名为 displayDate 的函数。
HTML DOM 允许您使用 JavaScript 向 HTML 元素分配事件:
为 button 元素分配 onclick 事件:
在上面的例子中,名为 displayDate 的函数被分配给了 id=myButn" 的 HTML 元素。
当按钮被点击时,将执行函数。
当用户进入或离开页面时,会触发 onload 和 onunload 事件。
onload 事件可用于检查访客的浏览器类型和版本,以便基于这些信息来加载不同版本的网页。
onload 和 onunload 事件可用于处理 cookies。
onchange 事件常用于输入字段的验证。
下面的例子展示了如何使用 onchange。当用户改变输入字段的内容时,将调用 upperCase() 函数。
onmouseover 和 onmouseout 事件可用于在鼠标指针移动到或离开元素时触发函数。
onmousedown、onmouseup 以及 onclick 事件是鼠标点击的全部过程。首先当某个鼠标按钮被点击时,触发 onmousedown 事件,然后,当鼠标按钮被松开时,会触发 onmouseup 事件,最后,当鼠标点击完成时,触发 onclick 事件。
如果您需要每个事件的完整描述和例子,请访问我们的 HTML DOM 参考手册。
通过 HTML DOM,您可以使用节点关系在节点树中导航。
getElementsByTagName() 方法返回节点列表。节点列表是一个节点数组。
下面的代码选取文档中的所有 <p> 节点,点击尝试一下即可进行代码的编写:
需要注意的是:
下标号是从 0 开始的。
length 属性定义节点列表中节点的数量。
您可以使用 length 属性来循环节点列表:
您能够使用三个节点属性:parentNode、firstChild 以及 lastChild ,在文档结构中进行导航。
请看下面的 HTML 片段:
firstChild 属性可用于访问元素的文本:
这里有两个特殊的属性,可以访问全部文档:
除了 innerHTML 属性,您还可以使用 childNodes 和 nodeValue 属性来获取元素的内容。
下面的代码将教您如何获取 id="intro" 的 <p> 元素的值:
在上面的例子中,getElementById 是一个方法,而 childNodes 和 nodeValue 是属性。
在本教程中,我们将使用 innerHTML 属性。不过,学习上面的方法有助于对 DOM 树结构和导航的理解。
本教程已经向您讲解了如何使用 HTML DOM 来增强网站的动态交互性以及如何操作 HTML 元素以响应不同的场景。
希望您通过教程中的实例练习能够真正掌握本教程。
如何您需要更多有关 HTML DOM 的信息,请访问我们的 HTML DOM 100实例和 HTML DOM 参考手册。
在本教程中,我们已通过在客户端(在浏览器中)使用脚本来创建动态网页。
也可以通过在服务器上使用脚本来增加网页的动态性。
通过服务器端脚本,您能够编辑、添加或更改网页内容。您能够对提交自 HTML 表单的数据做出响应,访问数据或数据库,并向浏览器返回结果,为不同的用户定制页面。
在 W3Cschool,您可以学习以下服务器端脚本教程:
您也可以通过我们的服务器端脚本系列教程页面,快速了解各种不同的服务器端脚本技术。不过在此51coolma小编建议您基础要打牢,方能够成为编程大佬!
使用JavaScript访问和操作的HTML DOM对象的例子。
HTML DOM是HTML Document Object Model(文档对象模型)的缩写,定义了访问和操作 HTML 文档的标准方法。
DOM 以树结构表达 HTML 文档。
学习 100 个实例!使用51coolma的编辑器,你可以编辑 HTML 文档,然后单击 "尝试一下" 按钮来查看结果,点击灯泡可进行开关。
100个在线实例!
在 W3CSchool 中, 我们提供了完整的HTML DOM 参考手册并且附带了在线实例。
HTML DOM 定义了访问和操作 HTML 文档的标准。
在您开始学习HTML DOM之前,您需要对以下内容拥有基本的了解:
如果您需要首先学习这些项目,也可以访问我们的首页学习相关的微课。
DOM 是 W3C(万维网联盟)的标准。
DOM 定义了访问 HTML 和 XML 文档的标准:
"W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。"
W3C DOM 标准被分为 3 个不同的部分:
编者注:DOM 是 Document Object Model(文档对象模型)的缩写。
XML DOM 定义了所有 XML 元素的对象和属性,以及访问它们的方法。
如果您需要学习 XML DOM,请访问我们的 XML DOM 教程。
HTML DOM 是:
HTML DOM 定义了所有 HTML 元素的对象和属性,以及访问它们的方法。
换言之,HTML DOM 是关于如何获取、修改、添加或删除 HTML 元素的标准。
接下来让我们开始学习HTML DOM节点。
在 HTML DOM 中,所有事物都是节点。DOM 是被视为节点树的 HTML。
根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:
HTML DOM 将 HTML 文档视作树结构。这种结构被称为节点树:
节点树中的节点彼此拥有层级关系。
父(parent)、子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。
下面的图片展示了节点树的一部分,以及节点之间的关系:
请看下面的 HTML 片段:
<html> <head> <title>DOM Tutorial</title> </head> <body> <h1>DOM Lesson one</h1> <p>Hello world!</p> </body> </html>
从上面的 HTML片段可以看出:
并且:
并且:
DOM 处理中的常见错误是希望元素节点包含文本。
在本例中:<title>DOM 教程</title>,元素节点 <title>,包含值为 "DOM 教程" 的文本节点。
可通过节点的 innerHTML 属性来访问文本节点的值。
您将在稍后的章节中学习更多有关 innerHTML 属性的知识。
HTML DOM方法是我们可以在节点(HTML 元素)上执行的动作,学习HTML DOM方法对您学习HTML DOM是必不可少的,开始您的学习吧!
可通过 JavaScript (以及其他编程语言)对 HTML DOM 进行访问。
所有 HTML 元素被定义为对象,而编程接口则是对象方法和对象属性。
方法是您能够执行的动作(比如添加或修改元素)。
属性是您能够获取或设置的值(比如节点的名称或内容)。
getElementById() 方法返回带有指定 ID 的元素:
一些常用的 HTML DOM 方法:
一些常用的 HTML DOM 属性:
您将在本教程的下一章中学到更多有关属性的知识。
某个人是一个对象。
人的方法可能是 eat(), sleep(), work(), play() 等等。
所有人都有这些方法,但会在不同时间执行它们。
一个人的属性包括姓名、身高、体重、年龄、性别等等。
所有人都有这些属性,但它们的值因人而异。
这里提供一些您将在本教程中学到的常用方法:
方法 | 描述 |
---|---|
getElementById() | 返回带有指定 ID 的元素。 |
getElementsByTagName() | 返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。 |
getElementsByClassName() | 返回包含带有指定类名的所有元素的节点列表。 |
appendChild() | 把新的子节点添加到指定节点。 |
removeChild() | 删除子节点。 |
replaceChild() | 替换子节点。 |
insertBefore() | 在指定的子节点前面插入新的子节点。 |
createAttribute() | 创建属性节点。 |
createElement() | 创建元素节点。 |
createTextNode() | 创建文本节点。 |
getAttribute() | 返回指定的属性值。 |
setAttribute() | 把指定属性设置或修改为指定的值。 |
上表中的HTML DOM常用的对象方法非常有用,所以您不能够记下来,那么最好能够收藏起来,或者保存网页到收藏夹,以便日后查找!
上一节我们学习了HTML DOM方法,现在我们一起来学习一下HTML DOM 属性。
属性是节点(HTML 元素)的值,您能够获取或设置。
可通过 JavaScript (以及其他编程语言)对 HTML DOM 进行访问。
所有 HTML 元素被定义为对象,而编程接口则是对象方法和对象属性。
方法是您能够执行的动作(比如添加或修改元素)。
属性是您能够获取或设置的值(比如节点的名称或内容)。
获取元素内容的最简单方法是使用 innerHTML 属性。
innerHTML 属性对于获取或替换 HTML 元素的内容很有用。
下面的代码获取 id="intro" 的 <p> 元素的 innerHTML:
在上面的例子中,getElementById 是一个方法,而 innerHTML 是属性。
innerHTML 属性可用于获取或改变任意 HTML 元素,包括 <html> 和 <body>。 |
nodeName 属性规定节点的名称。
注意事项: nodeName 始终包含 HTML 元素的大写字母标签名。
nodeValue 属性规定节点的值。
下面的例子会取回 <p id="intro"> 标签的文本节点值:
nodeType 属性返回节点的类型,nodeType 是只读的。
下表是比较重要的节点类型:
元素类型 | NodeType |
---|---|
元素 | 1 |
属性 | 2 |
文本 | 3 |
注释 | 8 |
文档 | 9 |
访问 HTML DOM - 查找 HTML 元素。
访问 HTML 元素等同于访问节点
您可以以不同的方式来访问 HTML 元素,如:
getElementById() 方法返回带有指定 ID 的元素:
下面的例子获取 id="intro" 的元素,点击“尝试一下”可进行编辑:
getElementsByTagName() 返回带有指定标签名的所有元素。
下面的例子返回包含文档中所有 <p> 元素的列表,点击“尝试一下”可进行编辑:
下面的例子返回包含文档中所有 <p> 元素的列表,并且这些 <p> 元素应该是 id="main" 的元素的后代(子、孙等等),点击“尝试一下”可进行编辑:
如果您希望查找带有相同类名的所有 HTML 元素,可以使用这个方法进行查找:
上面的例子返回包含 class="intro" 的所有元素的一个列表:
注意事项:getElementsByClassName() 在 Internet Explorer 5,6,7,8 中无效。
学完本节,您将了解:如何修改 HTML = 改变元素、属性、样式和事件。
修改 HTML DOM 意味着许多不同的方面:
在接下来的章节,我们会深入学习修改 HTML DOM 的常用方法。
改变元素内容,最简单的方法是使用 innerHTML 属性。
下面的例子改变一个 <p> 元素的 HTML 内容:
我们将在下面的章节为您解释例子中的细节,看完之后希望您能够对上述例子有更深的理解。 |
通过 HTML DOM,您能够访问 HTML 元素的样式对象。
下面的例子改变一个段落的 HTML 样式,您可以尝试进行修改:
<p id="p2">Hello world!</p>
<script>
document.getElementById("p2").style.color="blue";
</script>
</body>
</html>
如果需要向 HTML DOM 添加新元素,您首先必须创建该元素(元素节点),然后把它追加到已有的元素上。
学习HTML DOM 修改,建议您多动手进行练习,最好能够将本节的几个实例都操作一遍。
通过 HTML DOM,JavaScript 能够访问 HTML 文档中的每个元素。
改变元素内容的最简单的方法是使用 innerHTML 属性。
下面的例子更改 <p> 元素的 HTML 内容:
通过 HTML DOM,您能够访问 HTML 对象的样式对象。
下面的例子更改段落的 HTML 样式:
<p id="p2">Hello world!</p>
<script>
document.getElementById("p2").style.color="blue";
</script>
</body>
</html>
HTML DOM 允许您在事件发生时执行代码。
当 HTML 元素"有事情发生"时,浏览器就会生成事件:
你可以在下一章学习更多有关事件的内容。
下面两个例子在按钮被点击时改变 <body> 元素的背景色:
在本例中,由函数执行相同的代码:
下面的例子在按钮被点击时改变 <p> 元素的文本:
以上5个实例能够帮助您更好地理解如何修改HTML内容,建议您多仔细看几遍,并动手操作一下再进行下一章节HTML DOM元素的学习
本节您将要学习的是如何添加、删除和替换 HTML 元素。
如果您需要向 HTML DOM 添加新元素,您首先必须创建该元素,然后把它追加到已有的元素上。
这段代码创建了一个新的 <p> 元素:
如需向 <p> 元素添加文本,您首先必须创建文本节点。这段代码创建文本节点:
然后您必须向 <p> 元素追加文本节点:
最后,您必须向已有元素追加这个新元素。
这段代码查找到一个已有的元素:
这段代码向这个已存在的元素追加新元素:
看完上面的实例解析,您最好能够再看一遍实例,动手操作一下!
上一个例子中的 appendChild() 方法,将新元素作为父元素的最后一个子元素进行添加。
如果不希望如此,您可以使用 insertBefore() 方法:
如果您需要删除 HTML 元素,您必须清楚该元素的父元素,点击尝试一下:
<script>
var parent=document.getElementById("div1");
var child=document.getElementById("p1");
parent.removeChild(child);
</script>
这个 HTML 文档包含一个带有两个子节点(两个 <p> 元素)的 <div> 元素:
查找 id="div1" 的元素:
查找 id="p1" 的 <p> 元素:
从父元素中删除子元素:
看完上面的实例解析,您最好能够再看一遍实例,动手操作一下!
能否在不引用父元素的情况下删除某个元素? 很抱歉。DOM 需要了解您需要删除的元素,以及它的父元素。 |
这里提供一个常用的解决方法:找到您需要删除的子元素,然后使用 parentNode 属性来查找其父元素:
如果您需要替换 HTML DOM 中的元素,请使用 replaceChild() 方法:
HTML DOM 允许 JavaScript 对 HTML 事件作出反应。
当事件发生时,可以执行 JavaScript,比如当用户点击一个 HTML 元素时。
如果您需要在用户点击某个元素时执行代码,请把 JavaScript 代码添加到 HTML 事件属性中:
HTML 事件的例子:
在本例中,当用户点击时,会改变 <h1> 元素的内容:
在本例中,会从事件处理程序中调用函数:
如果您需要向 HTML 元素分配事件,您可以使用事件属性。
在上面的例子中,当点击按钮时,会执行名为 displayDate 的函数。
HTML DOM 允许您使用 JavaScript 向 HTML 元素分配事件:
为 button 元素分配 onclick 事件:
在上面的例子中,名为 displayDate 的函数被分配给了 id=myButn" 的 HTML 元素。
当按钮被点击时,将执行函数。
当用户进入或离开页面时,会触发 onload 和 onunload 事件。
onload 事件可用于检查访客的浏览器类型和版本,以便基于这些信息来加载不同版本的网页。
onload 和 onunload 事件可用于处理 cookies。
onchange 事件常用于输入字段的验证。
下面的例子展示了如何使用 onchange。当用户改变输入字段的内容时,将调用 upperCase() 函数。
onmouseover 和 onmouseout 事件可用于在鼠标指针移动到或离开元素时触发函数。
onmousedown、onmouseup 以及 onclick 事件是鼠标点击的全部过程。首先当某个鼠标按钮被点击时,触发 onmousedown 事件,然后,当鼠标按钮被松开时,会触发 onmouseup 事件,最后,当鼠标点击完成时,触发 onclick 事件。
如果您需要每个事件的完整描述和例子,请访问我们的 HTML DOM 参考手册。
通过 HTML DOM,您可以使用节点关系在节点树中导航。
getElementsByTagName() 方法返回节点列表。节点列表是一个节点数组。
下面的代码选取文档中的所有 <p> 节点,点击尝试一下即可进行代码的编写:
需要注意的是:
下标号是从 0 开始的。
length 属性定义节点列表中节点的数量。
您可以使用 length 属性来循环节点列表:
您能够使用三个节点属性:parentNode、firstChild 以及 lastChild ,在文档结构中进行导航。
请看下面的 HTML 片段:
firstChild 属性可用于访问元素的文本:
这里有两个特殊的属性,可以访问全部文档:
除了 innerHTML 属性,您还可以使用 childNodes 和 nodeValue 属性来获取元素的内容。
下面的代码将教您如何获取 id="intro" 的 <p> 元素的值:
在上面的例子中,getElementById 是一个方法,而 childNodes 和 nodeValue 是属性。
在本教程中,我们将使用 innerHTML 属性。不过,学习上面的方法有助于对 DOM 树结构和导航的理解。
本教程已经向您讲解了如何使用 HTML DOM 来增强网站的动态交互性以及如何操作 HTML 元素以响应不同的场景。
希望您通过教程中的实例练习能够真正掌握本教程。
如何您需要更多有关 HTML DOM 的信息,请访问我们的 HTML DOM 100实例和 HTML DOM 参考手册。
在本教程中,我们已通过在客户端(在浏览器中)使用脚本来创建动态网页。
也可以通过在服务器上使用脚本来增加网页的动态性。
通过服务器端脚本,您能够编辑、添加或更改网页内容。您能够对提交自 HTML 表单的数据做出响应,访问数据或数据库,并向浏览器返回结果,为不同的用户定制页面。
在 W3Cschool,您可以学习以下服务器端脚本教程:
您也可以通过我们的服务器端脚本系列教程页面,快速了解各种不同的服务器端脚本技术。不过在此51coolma小编建议您基础要打牢,方能够成为编程大佬!
使用JavaScript访问和操作的HTML DOM对象的例子。