HTML DOM 教程

HTML DOM是HTML Document Object Model(文档对象模型)的缩写,定义了访问和操作 HTML 文档的标准方法。

DOM 以树结构表达 HTML 文档。

现在开始学习 HTML DOM !


HTML DOM 树形结构:

DOM HTML tree


HTML DOM 实例

学习 100 个实例!使用51coolma的编辑器,你可以编辑 HTML 文档,然后单击 "尝试一下" 按钮来查看结果,点击灯泡可进行开关。

100个在线实例!

HTML DOM 实例

点击灯泡 开/关 灯


尝试一下 »

HTML DOM 参考手册

在 W3CSchool 中, 我们提供了完整的HTML DOM 参考手册并且附带了在线实例。

HTML DOM 参考手册


HTML DOM 简介


HTML DOM 定义了访问和操作 HTML 文档的标准。


您应该具备的基础知识

在您开始学习HTML DOM之前,您需要对以下内容拥有基本的了解:

如果您需要首先学习这些项目,也可以访问我们的首页学习相关的微课


什么是 DOM?

DOM 是 W3C(万维网联盟)的标准。

DOM 定义了访问 HTML 和 XML 文档的标准:

"W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。"

W3C DOM 标准被分为 3 个不同的部分:

  • 核心 DOM - 针对任何结构化文档的标准模型
  • XML DOM - 针对 XML 文档的标准模型
  • HTML DOM - 针对 HTML 文档的标准模型

编者注:DOM 是 Document Object Model(文档对象模型)的缩写。


什么是 XML DOM?

XML DOM 定义了所有 XML 元素的对象属性,以及访问它们的方法

如果您需要学习 XML DOM,请访问我们的 XML DOM 教程


什么是 HTML DOM?

HTML DOM 是:

  • HTML 的标准对象模型
  • HTML 的标准编程接口
  • W3C 标准

HTML DOM 定义了所有 HTML 元素的对象属性,以及访问它们的方法

换言之,HTML DOM 是关于如何获取、修改、添加或删除 HTML 元素的标准。

接下来让我们开始学习HTML DOM节点


HTML DOM 节点


在 HTML DOM 中,所有事物都是节点。DOM 是被视为节点树的 HTML。


DOM Nodes

DOM 节点

根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:

  • 整个文档是一个文档节点
  • 每个 HTML 元素是元素节点
  • HTML 元素内的文本是文本节点
  • 每个 HTML 属性是属性节点
  • 注释是注释节点

HTML DOM 节点树

HTML DOM 将 HTML 文档视作树结构。这种结构被称为节点树


HTML DOM 树实例

DOM HTML tree

节点父、子和同胞

节点树中的节点彼此拥有层级关系。

父(parent)、子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。

  • 在节点树中,顶端节点被称为根(root)
  • 每个节点都有父节点、除了根(它没有父节点)
  • 一个节点可拥有任意数量的子节点
  • 同胞是拥有相同父节点的节点

下面的图片展示了节点树的一部分,以及节点之间的关系:

Node tree

请看下面的 HTML 片段:

 <html>   <head>     <title>DOM Tutorial</title>   </head>   <body>     <h1>DOM Lesson one</h1>     <p>Hello world!</p>   </body> </html> 

从上面的 HTML片段可以看出:

  • <html> 节点没有父节点;它是根节点
  • <head> 和 <body> 的父节点是 <html> 节点
  • 文本节点 "Hello world!" 的父节点是 <p> 节点

并且:

  • <html> 节点拥有两个子节点:<head> 和 <body>
  • <head> 节点拥有一个子节点:<title> 节点
  • <title> 节点也拥有一个子节点:文本节点 "DOM 教程"
  • <h1> 和 <p> 节点是同胞节点,同时也是 <body> 的子节点

并且:

  • <head> 元素是 <html> 元素的首个子节点
  • <body> 元素是 <html> 元素的最后一个子节点
  • <h1> 元素是 <body> 元素的首个子节点
  • <p> 元素是 <body> 元素的最后一个子节点

警告!

DOM 处理中的常见错误是希望元素节点包含文本。

在本例中:<title>DOM 教程</title>,元素节点 <title>,包含值为 "DOM 教程" 的文本节点。

可通过节点的 innerHTML 属性来访问文本节点的值。

您将在稍后的章节中学习更多有关 innerHTML 属性的知识。

HTML DOM 方法


HTML DOM方法是我们可以在节点(HTML 元素)上执行的动作,学习HTML DOM方法对您学习HTML DOM是必不可少的,开始您的学习吧!


编程接口

可通过 JavaScript (以及其他编程语言)对 HTML DOM 进行访问。

所有 HTML 元素被定义为对象,而编程接口则是对象方法和对象属性。

方法是您能够执行的动作(比如添加或修改元素)。

属性是您能够获取或设置的值(比如节点的名称或内容)。


getElementById() 方法

getElementById() 方法返回带有指定 ID 的元素:

实例

var element=document.getElementById("intro");

尝试一下 »


HTML DOM 对象 - 方法和属性

一些常用的 HTML DOM 方法:

  • getElementById(id) - 获取带有指定 id 的节点(元素)
  • appendChild(node) - 插入新的子节点(元素)
  • removeChild(node) - 删除子节点(元素)

一些常用的 HTML DOM 属性:

  • innerHTML - 节点(元素)的文本值
  • parentNode - 节点(元素)的父节点
  • childNodes - 节点(元素)的子节点
  • attributes - 节点(元素)的属性节点

您将在本教程的下一章中学到更多有关属性的知识。


现实生活中的对象

某个人是一个对象。

人的方法可能是 eat(), sleep(), work(), play() 等等。

所有人都有这些方法,但会在不同时间执行它们。

一个人的属性包括姓名、身高、体重、年龄、性别等等。

所有人都有这些属性,但它们的值因人而异。


一些 DOM 对象方法

这里提供一些您将在本教程中学到的常用方法:

方法 描述
getElementById() 返回带有指定 ID 的元素。
getElementsByTagName() 返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。
getElementsByClassName() 返回包含带有指定类名的所有元素的节点列表。
appendChild() 把新的子节点添加到指定节点。
removeChild() 删除子节点。
replaceChild() 替换子节点。
insertBefore() 在指定的子节点前面插入新的子节点。
createAttribute() 创建属性节点。
createElement() 创建元素节点。
createTextNode() 创建文本节点。
getAttribute() 返回指定的属性值。
setAttribute() 把指定属性设置或修改为指定的值。

上表中的HTML DOM常用的对象方法非常有用,所以您不能够记下来,那么最好能够收藏起来,或者保存网页到收藏夹,以便日后查找!


HTML DOM 属性


上一节我们学习了HTML DOM方法,现在我们一起来学习一下HTML DOM 属性。

属性是节点(HTML 元素)的值,您能够获取或设置。


编程接口

可通过 JavaScript (以及其他编程语言)对 HTML DOM 进行访问。

所有 HTML 元素被定义为对象,而编程接口则是对象方法和对象属性。

方法是您能够执行的动作(比如添加或修改元素)。

属性是您能够获取或设置的值(比如节点的名称或内容)。


innerHTML 属性

获取元素内容的最简单方法是使用 innerHTML 属性。

innerHTML 属性对于获取或替换 HTML 元素的内容很有用。

实例

下面的代码获取 id="intro" 的 <p> 元素的 innerHTML:

实例

<html>
<body>

<p id="intro">Hello World!</p>

<script>
var txt=document.getElementById("intro").innerHTML;
document.write(txt);
</script>

</body>
</html>

尝试一下 »

在上面的例子中,getElementById 是一个方法,而 innerHTML 是属性。

lamp

innerHTML 属性可用于获取或改变任意 HTML 元素,包括 <html> 和 <body>。



nodeName 属性规定节点的名称。

  • nodeName 是只读的
  • 元素节点的 nodeName 与标签名相同
  • 属性节点的 nodeName 与属性名相同
  • 文本节点的 nodeName 始终是 #text
  • 文档节点的 nodeName 始终是 #document

注意事项: nodeName 始终包含 HTML 元素的大写字母标签名。


nodeValue 属性

nodeValue 属性规定节点的值。

  • 元素节点的 nodeValue 是 undefined 或 null
  • 文本节点的 nodeValue 是文本本身
  • 属性节点的 nodeValue 是属性值

获取元素的值

下面的例子会取回 <p id="intro"> 标签的文本节点值:

实例

<html>
<body>

<p id="intro">Hello World!</p>

<script type="text/javascript">
x=document.getElementById("intro");
document.write(x.firstChild.nodeValue);
</script>

</body>
</html>

尝试一下 »


nodeType 属性

nodeType 属性返回节点的类型,nodeType 是只读的。

下表是比较重要的节点类型:

元素类型 NodeType
元素 1
属性 2
文本 3
注释 8
文档 9


HTML DOM 访问


访问 HTML DOM - 查找 HTML 元素。


访问 HTML 元素(节点)

访问 HTML 元素等同于访问节点

您可以以不同的方式来访问 HTML 元素,如:

  • 通过使用 getElementById() 方法
  • 通过使用 getElementsByTagName() 方法
  • 通过使用 getElementsByClassName() 方法

getElementById() 方法

getElementById() 方法返回带有指定 ID 的元素:

语法

node.getElementById("id");

下面的例子获取 id="intro" 的元素,点击“尝试一下”可进行编辑:

实例

document.getElementById("intro");

尝试一下 »


getElementsByTagName() 方法

getElementsByTagName() 返回带有指定标签名的所有元素。

语法

node.getElementsByTagName("tagname");

下面的例子返回包含文档中所有 <p> 元素的列表,点击“尝试一下”可进行编辑:

实例 1

document.getElementsByTagName("p");

尝试一下 »

下面的例子返回包含文档中所有 <p> 元素的列表,并且这些 <p> 元素应该是 id="main" 的元素的后代(子、孙等等),点击“尝试一下”可进行编辑:

实例 2

document.getElementById("main").getElementsByTagName("p");

尝试一下 »


The getElementsByClassName() Method

如果您希望查找带有相同类名的所有 HTML 元素,可以使用这个方法进行查找:

document.getElementsByClassName("intro");

上面的例子返回包含 class="intro" 的所有元素的一个列表:

注意事项:getElementsByClassName() 在 Internet Explorer 5,6,7,8 中无效。


HTML DOM - 修改


学完本节,您将了解:如何修改 HTML = 改变元素、属性、样式和事件。


修改 HTML 元素

修改 HTML DOM 意味着许多不同的方面:

在接下来的章节,我们会深入学习修改 HTML DOM 的常用方法。


创建 HTML 内容

改变元素内容,最简单的方法是使用 innerHTML 属性。

下面的例子改变一个 <p> 元素的 HTML 内容:

实例

<html>
<body>

<p id="p1">Hello World!</p>

<script>
document.getElementById("p1").innerHTML="New text!";
</script>

</body>
</html>

尝试一下 »

lamp 我们将在下面的章节为您解释例子中的细节,看完之后希望您能够对上述例子有更深的理解。


改变 HTML 样式

通过 HTML DOM,您能够访问 HTML 元素的样式对象。

下面的例子改变一个段落的 HTML 样式,您可以尝试进行修改:

实例

<html>

<body>

<p id="p2">Hello world!</p>

<script>
document.getElementById("p2").style.color="blue";
</script>

</body>
</html>


尝试一下 »


创建新的 HTML 元素

如果需要向 HTML DOM 添加新元素,您首先必须创建该元素(元素节点),然后把它追加到已有的元素上。

学习HTML DOM 修改,建议您多动手进行练习,最好能够将本节的几个实例都操作一遍。

 实例

<div id="d1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var para=document.createElement("p");
var node=document.createTextNode("This is new.");
para.appendChild(node);

var element=document.getElementById("d1");
element.appendChild(para);
</script>

尝试一下 »


HTML DOM - 修改 HTML 内容


通过 HTML DOM,JavaScript 能够访问 HTML 文档中的每个元素。


改变 HTML 内容

改变元素内容的最简单的方法是使用 innerHTML 属性。

下面的例子更改 <p> 元素的 HTML 内容:

实例

<html>
<body>

<p id="p1">Hello World!</p>

<script>
document.getElementById("p1").innerHTML="New text!";
</script>

</body>
</html>

尝试一下 »


改变 HTML 样式

通过 HTML DOM,您能够访问 HTML 对象的样式对象。

下面的例子更改段落的 HTML 样式:

实例

<html>

<body>

<p id="p2">Hello world!</p>

<script>
document.getElementById("p2").style.color="blue";
</script>

</body>
</html>


尝试一下 »


使用事件

HTML DOM 允许您在事件发生时执行代码。

当 HTML 元素"有事情发生"时,浏览器就会生成事件:

  • 在元素上点击
  • 加载页面
  • 改变输入字段

你可以在下一章学习更多有关事件的内容。

下面两个例子在按钮被点击时改变 <body> 元素的背景色:

实例

<html>
<body>

<input type="button" onclick="document.body.style.backgroundColor='lavender';"
value="Change background color" />

</body>
</html>

尝试一下 »

在本例中,由函数执行相同的代码:

实例

<html>
<body>

<script>
function ChangeBackground()
{
document.body.style.backgroundColor="lavender";
}
</script>

<input type="button" onclick="ChangeBackground()"
value="Change background color" />

</body>
</html>

尝试一下 »

下面的例子在按钮被点击时改变 <p> 元素的文本:

实例

<html>
<body>

<p id="p1">Hello world!</p>

<script>
function ChangeText()
{
document.getElementById("p1").innerHTML="New text!";
}
</script>

<input type="button" onclick="ChangeText()" value="Change text">

</body>
</html>

尝试一下 »


以上5个实例能够帮助您更好地理解如何修改HTML内容,建议您多仔细看几遍,并动手操作一下再进行下一章节HTML DOM元素的学习


HTML DOM - 元素


本节您将要学习的是如何添加、删除和替换 HTML 元素。


创建新的 HTML 元素 - appendChild()

如果您需要向 HTML DOM 添加新元素,您首先必须创建该元素,然后把它追加到已有的元素上。

 实例

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var para=document.createElement("p");
var node=document.createTextNode("This is new.");
para.appendChild(node);

var element=document.getElementById("div1");
element.appendChild(para);
</script>

尝试一下 »


实例解析

这段代码创建了一个新的 <p> 元素:

var para=document.createElement("p");

如需向 <p> 元素添加文本,您首先必须创建文本节点。这段代码创建文本节点:

var node=document.createTextNode("This is a new paragraph.");

然后您必须向 <p> 元素追加文本节点:

para.appendChild(node);

最后,您必须向已有元素追加这个新元素。

这段代码查找到一个已有的元素:

var element=document.getElementById("div1");

这段代码向这个已存在的元素追加新元素:

element.appendChild(para);

看完上面的实例解析,您最好能够再看一遍实例,动手操作一下!



创建新的 HTML 元素 - insertBefore()

上一个例子中的 appendChild() 方法,将新元素作为父元素的最后一个子元素进行添加。

如果不希望如此,您可以使用 insertBefore() 方法:

 实例

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var para=document.createElement("p");
var node=document.createTextNode("This is new.");
para.appendChild(node);

var element=document.getElementById("div1");
var child=document.getElementById("p1");
element.insertBefore(para,child);
</script>

尝试一下 »


删除已有的 HTML 元素

如果您需要删除 HTML 元素,您必须清楚该元素的父元素,点击尝试一下:

实例

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var parent=document.getElementById("div1");
var child=document.getElementById("p1");
parent.removeChild(child);
</script>


尝试一下 »


实例解析

这个 HTML 文档包含一个带有两个子节点(两个 <p> 元素)的 <div> 元素:

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

查找 id="div1" 的元素:

var parent=document.getElementById("div1");

查找 id="p1" 的 <p> 元素:

var child=document.getElementById("p1");

从父元素中删除子元素:

parent.removeChild(child);

看完上面的实例解析,您最好能够再看一遍实例,动手操作一下!


lamp 能否在不引用父元素的情况下删除某个元素?
很抱歉。DOM 需要了解您需要删除的元素,以及它的父元素。

这里提供一个常用的解决方法:找到您需要删除的子元素,然后使用 parentNode 属性来查找其父元素:

var child=document.getElementById("p1");
child.parentNode.removeChild(child);


替换 HTML 元素

如果您需要替换 HTML DOM 中的元素,请使用 replaceChild() 方法:

实例

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var para=document.createElement("p");
var node=document.createTextNode("This is new.");
para.appendChild(node);

var parent=document.getElementById("div1");
var child=document.getElementById("p1");
parent.replaceChild(para,child);
</script>

尝试一下 »


HTML DOM - 事件


HTML DOM 允许 JavaScript 对 HTML 事件作出反应。

实例

Mouse Over Me
Click Me


对事件作出反应

当事件发生时,可以执行 JavaScript,比如当用户点击一个 HTML 元素时。

如果您需要在用户点击某个元素时执行代码,请把 JavaScript 代码添加到 HTML 事件属性中:

onclick=JavaScript

HTML 事件的例子:

  • 当用户点击鼠标时
  • 当网页已加载时
  • 当图片已加载时
  • 当鼠标移动到元素上时
  • 当输入字段被改变时
  • 当 HTML 表单被提交时
  • 当用户触发按键时

在本例中,当用户点击时,会改变 <h1> 元素的内容:

实例

<!DOCTYPE html>
<html>
<body>
<h1 onclick="this.innerHTML='Ooops!'">Click on this text!</h1>
</body>
</html>

尝试一下 »

在本例中,会从事件处理程序中调用函数:

实例

<!DOCTYPE html>
<html>
<head>
<script>
function changetext(id)
{
id.innerHTML="Ooops!";
}
</script>
</head>
<body>
<h1 onclick="changetext(this)">Click on this text!</h1>
</body>
</html>

尝试一下 »


HTML 事件属性

如果您需要向 HTML 元素分配事件,您可以使用事件属性。

实例

向 button 元素分配一个 onclick 事件:

<button onclick="displayDate()">Try it</button>

尝试一下 »

在上面的例子中,当点击按钮时,会执行名为 displayDate 的函数。


使用 HTML DOM 来分配事件

HTML DOM 允许您使用 JavaScript 向 HTML 元素分配事件:

实例

为 button 元素分配 onclick 事件:

<script>
document.getElementById("myBtn").onclick=function(){displayDate()};
</script>

尝试一下 »

在上面的例子中,名为 displayDate 的函数被分配给了 id=myButn" 的 HTML 元素。

当按钮被点击时,将执行函数。


onload 和 onunload 事件

当用户进入或离开页面时,会触发 onload 和 onunload 事件。

onload 事件可用于检查访客的浏览器类型和版本,以便基于这些信息来加载不同版本的网页。

onload 和 onunload 事件可用于处理 cookies。

实例

<body onload="checkCookies()">

尝试一下 »


onchange 事件

onchange 事件常用于输入字段的验证。

下面的例子展示了如何使用 onchange。当用户改变输入字段的内容时,将调用 upperCase() 函数。

实例

<input type="text" id="fname" onchange="upperCase()">

尝试一下 »


onmouseover 和 onmouseout 事件

onmouseover 和 onmouseout 事件可用于在鼠标指针移动到或离开元素时触发函数。

实例

一个简单的 onmouseover-onmouseout 实例:

Mouse Over Me

尝试一下 »


onmousedown、onmouseup 以及 onclick 事件

onmousedown、onmouseup 以及 onclick 事件是鼠标点击的全部过程。首先当某个鼠标按钮被点击时,触发 onmousedown 事件,然后,当鼠标按钮被松开时,会触发 onmouseup 事件,最后,当鼠标点击完成时,触发 onclick 事件。

实例

一个简单的 onmousedown-onmouseup 实例:

Click Me

尝试一下 »


HTML DOM 事件对象参考手册

如果您需要每个事件的完整描述和例子,请访问我们的 HTML DOM 参考手册


HTML DOM 导航


通过 HTML DOM,您可以使用节点关系在节点树中导航。


HTML DOM 节点列表

getElementsByTagName() 方法返回节点列表。节点列表是一个节点数组。

下面的代码选取文档中的所有 <p> 节点,点击尝试一下即可进行代码的编写:

实例

var x=document.getElementsByTagName("p");

可以通过下标号访问这些节点。如需访问第二个 <p>,您可以这么写:

y=x[1];

尝试一下 »

需要注意的是:

下标号是从 0 开始的。


HTML DOM 节点列表长度

length 属性定义节点列表中节点的数量。

您可以使用 length 属性来循环节点列表:

实例

x=document.getElementsByTagName("p");

for (i=0;i<x.length;i++)
{
document.write(x[i].innerHTML);
document.write("<br />");
}

尝试一下 »

实例解析:

  • 获取所有 <p> 元素节点
  • 输出每个 <p> 元素的文本节点的值

导航节点关系

您能够使用三个节点属性:parentNode、firstChild 以及 lastChild ,在文档结构中进行导航。

请看下面的 HTML 片段:

<html>
<body>

<p>Hello World!</p>
<div>
  <p>The DOM is very useful!</p>
  <p>This example demonstrates node relationships.</p>
</div>

</body>
</html>
  • 首个 <p> 元素是 <body> 元素的首个子元素(firstChild)
  • <div> 元素是 <body> 元素的最后一个子元素(lastChild)
  • <body> 元素是首个 <p> 元素和 <div> 元素的父节点(parentNode)

firstChild 属性可用于访问元素的文本:

实例

<html>
<body>

<p id="intro">Hello World!</p>

<script>
x=document.getElementById("intro");
document.write(x.firstChild.nodeValue);
</script>

</body>
</html>

尝试一下 »


DOM 根节点

这里有两个特殊的属性,可以访问全部文档:

  • document.documentElement - 全部文档
  • document.body - 文档的主体

实例

<html>
<body>

<p>Hello World!</p>
<div>
<p>The DOM is very useful!</p>
<p>This example demonstrates the <b>document.body</b> property.</p>
</div>

<script>
alert(document.body.innerHTML);
</script>

</body>
</html>

尝试一下 »


childNodes 和 nodeValue

除了 innerHTML 属性,您还可以使用 childNodes 和 nodeValue 属性来获取元素的内容。

下面的代码将教您如何获取 id="intro" 的 <p> 元素的值:

实例

<html>
<body>

<p id="intro">Hello World!</p>

<script>
var txt=document.getElementById("intro").childNodes[0].nodeValue;
document.write(txt);
</script>

</body>
</html>

尝试一下 »

在上面的例子中,getElementById 是一个方法,而 childNodes 和 nodeValue 是属性。

在本教程中,我们将使用 innerHTML 属性。不过,学习上面的方法有助于对 DOM 树结构和导航的理解。

相关文章

CSS 导航栏


你已经学习了 HTML DOM, 下一步呢?


HTML DOM 总结

本教程已经向您讲解了如何使用 HTML DOM 来增强网站的动态交互性以及如何操作 HTML 元素以响应不同的场景。

希望您通过教程中的实例练习能够真正掌握本教程。

如何您需要更多有关 HTML DOM 的信息,请访问我们的 HTML DOM 100实例HTML DOM 参考手册


现在您已经学习了 HTML DOM,下一步呢?

在本教程中,我们已通过在客户端(在浏览器中)使用脚本来创建动态网页。

也可以通过在服务器上使用脚本来增加网页的动态性。

通过服务器端脚本,您能够编辑、添加或更改网页内容。您能够对提交自 HTML 表单的数据做出响应,访问数据或数据库,并向浏览器返回结果,为不同的用户定制页面。

在 W3Cschool,您可以学习以下服务器端脚本教程:

PHP 教程

ASP 教程

.NET 教程

您也可以通过我们的服务器端脚本系列教程页面,快速了解各种不同的服务器端脚本技术。不过在此51coolma小编建议您基础要打牢,方能够成为编程大佬!


HTML DOM 实例


使用JavaScript访问和操作的HTML DOM对象的例子。

Document 对象

Anchor 对象

Area 对象

Base 对象

Button 对象

Form 对象

Frame/IFrame 对象

Image 对象

Event 对象

Option 和 Select 对象

Table, TableHeader, TableRow, TableData 对象

HTML DOM 教程

HTML DOM是HTML Document Object Model(文档对象模型)的缩写,定义了访问和操作 HTML 文档的标准方法。

DOM 以树结构表达 HTML 文档。

现在开始学习 HTML DOM !


HTML DOM 树形结构:

DOM HTML tree


HTML DOM 实例

学习 100 个实例!使用51coolma的编辑器,你可以编辑 HTML 文档,然后单击 "尝试一下" 按钮来查看结果,点击灯泡可进行开关。

100个在线实例!

HTML DOM 实例

点击灯泡 开/关 灯


尝试一下 »

HTML DOM 参考手册

在 W3CSchool 中, 我们提供了完整的HTML DOM 参考手册并且附带了在线实例。

HTML DOM 参考手册


HTML DOM 简介


HTML DOM 定义了访问和操作 HTML 文档的标准。


您应该具备的基础知识

在您开始学习HTML DOM之前,您需要对以下内容拥有基本的了解:

如果您需要首先学习这些项目,也可以访问我们的首页学习相关的微课


什么是 DOM?

DOM 是 W3C(万维网联盟)的标准。

DOM 定义了访问 HTML 和 XML 文档的标准:

"W3C 文档对象模型 (DOM) 是中立于平台和语言的接口,它允许程序和脚本动态地访问和更新文档的内容、结构和样式。"

W3C DOM 标准被分为 3 个不同的部分:

  • 核心 DOM - 针对任何结构化文档的标准模型
  • XML DOM - 针对 XML 文档的标准模型
  • HTML DOM - 针对 HTML 文档的标准模型

编者注:DOM 是 Document Object Model(文档对象模型)的缩写。


什么是 XML DOM?

XML DOM 定义了所有 XML 元素的对象属性,以及访问它们的方法

如果您需要学习 XML DOM,请访问我们的 XML DOM 教程


什么是 HTML DOM?

HTML DOM 是:

  • HTML 的标准对象模型
  • HTML 的标准编程接口
  • W3C 标准

HTML DOM 定义了所有 HTML 元素的对象属性,以及访问它们的方法

换言之,HTML DOM 是关于如何获取、修改、添加或删除 HTML 元素的标准。

接下来让我们开始学习HTML DOM节点


HTML DOM 节点


在 HTML DOM 中,所有事物都是节点。DOM 是被视为节点树的 HTML。


DOM Nodes

DOM 节点

根据 W3C 的 HTML DOM 标准,HTML 文档中的所有内容都是节点:

  • 整个文档是一个文档节点
  • 每个 HTML 元素是元素节点
  • HTML 元素内的文本是文本节点
  • 每个 HTML 属性是属性节点
  • 注释是注释节点

HTML DOM 节点树

HTML DOM 将 HTML 文档视作树结构。这种结构被称为节点树


HTML DOM 树实例

DOM HTML tree

节点父、子和同胞

节点树中的节点彼此拥有层级关系。

父(parent)、子(child)和同胞(sibling)等术语用于描述这些关系。父节点拥有子节点。同级的子节点被称为同胞(兄弟或姐妹)。

  • 在节点树中,顶端节点被称为根(root)
  • 每个节点都有父节点、除了根(它没有父节点)
  • 一个节点可拥有任意数量的子节点
  • 同胞是拥有相同父节点的节点

下面的图片展示了节点树的一部分,以及节点之间的关系:

Node tree

请看下面的 HTML 片段:

 <html>   <head>     <title>DOM Tutorial</title>   </head>   <body>     <h1>DOM Lesson one</h1>     <p>Hello world!</p>   </body> </html> 

从上面的 HTML片段可以看出:

  • <html> 节点没有父节点;它是根节点
  • <head> 和 <body> 的父节点是 <html> 节点
  • 文本节点 "Hello world!" 的父节点是 <p> 节点

并且:

  • <html> 节点拥有两个子节点:<head> 和 <body>
  • <head> 节点拥有一个子节点:<title> 节点
  • <title> 节点也拥有一个子节点:文本节点 "DOM 教程"
  • <h1> 和 <p> 节点是同胞节点,同时也是 <body> 的子节点

并且:

  • <head> 元素是 <html> 元素的首个子节点
  • <body> 元素是 <html> 元素的最后一个子节点
  • <h1> 元素是 <body> 元素的首个子节点
  • <p> 元素是 <body> 元素的最后一个子节点

警告!

DOM 处理中的常见错误是希望元素节点包含文本。

在本例中:<title>DOM 教程</title>,元素节点 <title>,包含值为 "DOM 教程" 的文本节点。

可通过节点的 innerHTML 属性来访问文本节点的值。

您将在稍后的章节中学习更多有关 innerHTML 属性的知识。

HTML DOM 方法


HTML DOM方法是我们可以在节点(HTML 元素)上执行的动作,学习HTML DOM方法对您学习HTML DOM是必不可少的,开始您的学习吧!


编程接口

可通过 JavaScript (以及其他编程语言)对 HTML DOM 进行访问。

所有 HTML 元素被定义为对象,而编程接口则是对象方法和对象属性。

方法是您能够执行的动作(比如添加或修改元素)。

属性是您能够获取或设置的值(比如节点的名称或内容)。


getElementById() 方法

getElementById() 方法返回带有指定 ID 的元素:

实例

var element=document.getElementById("intro");

尝试一下 »


HTML DOM 对象 - 方法和属性

一些常用的 HTML DOM 方法:

  • getElementById(id) - 获取带有指定 id 的节点(元素)
  • appendChild(node) - 插入新的子节点(元素)
  • removeChild(node) - 删除子节点(元素)

一些常用的 HTML DOM 属性:

  • innerHTML - 节点(元素)的文本值
  • parentNode - 节点(元素)的父节点
  • childNodes - 节点(元素)的子节点
  • attributes - 节点(元素)的属性节点

您将在本教程的下一章中学到更多有关属性的知识。


现实生活中的对象

某个人是一个对象。

人的方法可能是 eat(), sleep(), work(), play() 等等。

所有人都有这些方法,但会在不同时间执行它们。

一个人的属性包括姓名、身高、体重、年龄、性别等等。

所有人都有这些属性,但它们的值因人而异。


一些 DOM 对象方法

这里提供一些您将在本教程中学到的常用方法:

方法 描述
getElementById() 返回带有指定 ID 的元素。
getElementsByTagName() 返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。
getElementsByClassName() 返回包含带有指定类名的所有元素的节点列表。
appendChild() 把新的子节点添加到指定节点。
removeChild() 删除子节点。
replaceChild() 替换子节点。
insertBefore() 在指定的子节点前面插入新的子节点。
createAttribute() 创建属性节点。
createElement() 创建元素节点。
createTextNode() 创建文本节点。
getAttribute() 返回指定的属性值。
setAttribute() 把指定属性设置或修改为指定的值。

上表中的HTML DOM常用的对象方法非常有用,所以您不能够记下来,那么最好能够收藏起来,或者保存网页到收藏夹,以便日后查找!


HTML DOM 属性


上一节我们学习了HTML DOM方法,现在我们一起来学习一下HTML DOM 属性。

属性是节点(HTML 元素)的值,您能够获取或设置。


编程接口

可通过 JavaScript (以及其他编程语言)对 HTML DOM 进行访问。

所有 HTML 元素被定义为对象,而编程接口则是对象方法和对象属性。

方法是您能够执行的动作(比如添加或修改元素)。

属性是您能够获取或设置的值(比如节点的名称或内容)。


innerHTML 属性

获取元素内容的最简单方法是使用 innerHTML 属性。

innerHTML 属性对于获取或替换 HTML 元素的内容很有用。

实例

下面的代码获取 id="intro" 的 <p> 元素的 innerHTML:

实例

<html>
<body>

<p id="intro">Hello World!</p>

<script>
var txt=document.getElementById("intro").innerHTML;
document.write(txt);
</script>

</body>
</html>

尝试一下 »

在上面的例子中,getElementById 是一个方法,而 innerHTML 是属性。

lamp

innerHTML 属性可用于获取或改变任意 HTML 元素,包括 <html> 和 <body>。



nodeName 属性规定节点的名称。

  • nodeName 是只读的
  • 元素节点的 nodeName 与标签名相同
  • 属性节点的 nodeName 与属性名相同
  • 文本节点的 nodeName 始终是 #text
  • 文档节点的 nodeName 始终是 #document

注意事项: nodeName 始终包含 HTML 元素的大写字母标签名。


nodeValue 属性

nodeValue 属性规定节点的值。

  • 元素节点的 nodeValue 是 undefined 或 null
  • 文本节点的 nodeValue 是文本本身
  • 属性节点的 nodeValue 是属性值

获取元素的值

下面的例子会取回 <p id="intro"> 标签的文本节点值:

实例

<html>
<body>

<p id="intro">Hello World!</p>

<script type="text/javascript">
x=document.getElementById("intro");
document.write(x.firstChild.nodeValue);
</script>

</body>
</html>

尝试一下 »


nodeType 属性

nodeType 属性返回节点的类型,nodeType 是只读的。

下表是比较重要的节点类型:

元素类型 NodeType
元素 1
属性 2
文本 3
注释 8
文档 9


HTML DOM 访问


访问 HTML DOM - 查找 HTML 元素。


访问 HTML 元素(节点)

访问 HTML 元素等同于访问节点

您可以以不同的方式来访问 HTML 元素,如:

  • 通过使用 getElementById() 方法
  • 通过使用 getElementsByTagName() 方法
  • 通过使用 getElementsByClassName() 方法

getElementById() 方法

getElementById() 方法返回带有指定 ID 的元素:

语法

node.getElementById("id");

下面的例子获取 id="intro" 的元素,点击“尝试一下”可进行编辑:

实例

document.getElementById("intro");

尝试一下 »


getElementsByTagName() 方法

getElementsByTagName() 返回带有指定标签名的所有元素。

语法

node.getElementsByTagName("tagname");

下面的例子返回包含文档中所有 <p> 元素的列表,点击“尝试一下”可进行编辑:

实例 1

document.getElementsByTagName("p");

尝试一下 »

下面的例子返回包含文档中所有 <p> 元素的列表,并且这些 <p> 元素应该是 id="main" 的元素的后代(子、孙等等),点击“尝试一下”可进行编辑:

实例 2

document.getElementById("main").getElementsByTagName("p");

尝试一下 »


The getElementsByClassName() Method

如果您希望查找带有相同类名的所有 HTML 元素,可以使用这个方法进行查找:

document.getElementsByClassName("intro");

上面的例子返回包含 class="intro" 的所有元素的一个列表:

注意事项:getElementsByClassName() 在 Internet Explorer 5,6,7,8 中无效。


HTML DOM - 修改


学完本节,您将了解:如何修改 HTML = 改变元素、属性、样式和事件。


修改 HTML 元素

修改 HTML DOM 意味着许多不同的方面:

在接下来的章节,我们会深入学习修改 HTML DOM 的常用方法。


创建 HTML 内容

改变元素内容,最简单的方法是使用 innerHTML 属性。

下面的例子改变一个 <p> 元素的 HTML 内容:

实例

<html>
<body>

<p id="p1">Hello World!</p>

<script>
document.getElementById("p1").innerHTML="New text!";
</script>

</body>
</html>

尝试一下 »

lamp 我们将在下面的章节为您解释例子中的细节,看完之后希望您能够对上述例子有更深的理解。


改变 HTML 样式

通过 HTML DOM,您能够访问 HTML 元素的样式对象。

下面的例子改变一个段落的 HTML 样式,您可以尝试进行修改:

实例

<html>

<body>

<p id="p2">Hello world!</p>

<script>
document.getElementById("p2").style.color="blue";
</script>

</body>
</html>


尝试一下 »


创建新的 HTML 元素

如果需要向 HTML DOM 添加新元素,您首先必须创建该元素(元素节点),然后把它追加到已有的元素上。

学习HTML DOM 修改,建议您多动手进行练习,最好能够将本节的几个实例都操作一遍。

 实例

<div id="d1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var para=document.createElement("p");
var node=document.createTextNode("This is new.");
para.appendChild(node);

var element=document.getElementById("d1");
element.appendChild(para);
</script>

尝试一下 »


HTML DOM - 修改 HTML 内容


通过 HTML DOM,JavaScript 能够访问 HTML 文档中的每个元素。


改变 HTML 内容

改变元素内容的最简单的方法是使用 innerHTML 属性。

下面的例子更改 <p> 元素的 HTML 内容:

实例

<html>
<body>

<p id="p1">Hello World!</p>

<script>
document.getElementById("p1").innerHTML="New text!";
</script>

</body>
</html>

尝试一下 »


改变 HTML 样式

通过 HTML DOM,您能够访问 HTML 对象的样式对象。

下面的例子更改段落的 HTML 样式:

实例

<html>

<body>

<p id="p2">Hello world!</p>

<script>
document.getElementById("p2").style.color="blue";
</script>

</body>
</html>


尝试一下 »


使用事件

HTML DOM 允许您在事件发生时执行代码。

当 HTML 元素"有事情发生"时,浏览器就会生成事件:

  • 在元素上点击
  • 加载页面
  • 改变输入字段

你可以在下一章学习更多有关事件的内容。

下面两个例子在按钮被点击时改变 <body> 元素的背景色:

实例

<html>
<body>

<input type="button" onclick="document.body.style.backgroundColor='lavender';"
value="Change background color" />

</body>
</html>

尝试一下 »

在本例中,由函数执行相同的代码:

实例

<html>
<body>

<script>
function ChangeBackground()
{
document.body.style.backgroundColor="lavender";
}
</script>

<input type="button" onclick="ChangeBackground()"
value="Change background color" />

</body>
</html>

尝试一下 »

下面的例子在按钮被点击时改变 <p> 元素的文本:

实例

<html>
<body>

<p id="p1">Hello world!</p>

<script>
function ChangeText()
{
document.getElementById("p1").innerHTML="New text!";
}
</script>

<input type="button" onclick="ChangeText()" value="Change text">

</body>
</html>

尝试一下 »


以上5个实例能够帮助您更好地理解如何修改HTML内容,建议您多仔细看几遍,并动手操作一下再进行下一章节HTML DOM元素的学习


HTML DOM - 元素


本节您将要学习的是如何添加、删除和替换 HTML 元素。


创建新的 HTML 元素 - appendChild()

如果您需要向 HTML DOM 添加新元素,您首先必须创建该元素,然后把它追加到已有的元素上。

 实例

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var para=document.createElement("p");
var node=document.createTextNode("This is new.");
para.appendChild(node);

var element=document.getElementById("div1");
element.appendChild(para);
</script>

尝试一下 »


实例解析

这段代码创建了一个新的 <p> 元素:

var para=document.createElement("p");

如需向 <p> 元素添加文本,您首先必须创建文本节点。这段代码创建文本节点:

var node=document.createTextNode("This is a new paragraph.");

然后您必须向 <p> 元素追加文本节点:

para.appendChild(node);

最后,您必须向已有元素追加这个新元素。

这段代码查找到一个已有的元素:

var element=document.getElementById("div1");

这段代码向这个已存在的元素追加新元素:

element.appendChild(para);

看完上面的实例解析,您最好能够再看一遍实例,动手操作一下!



创建新的 HTML 元素 - insertBefore()

上一个例子中的 appendChild() 方法,将新元素作为父元素的最后一个子元素进行添加。

如果不希望如此,您可以使用 insertBefore() 方法:

 实例

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var para=document.createElement("p");
var node=document.createTextNode("This is new.");
para.appendChild(node);

var element=document.getElementById("div1");
var child=document.getElementById("p1");
element.insertBefore(para,child);
</script>

尝试一下 »


删除已有的 HTML 元素

如果您需要删除 HTML 元素,您必须清楚该元素的父元素,点击尝试一下:

实例

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var parent=document.getElementById("div1");
var child=document.getElementById("p1");
parent.removeChild(child);
</script>


尝试一下 »


实例解析

这个 HTML 文档包含一个带有两个子节点(两个 <p> 元素)的 <div> 元素:

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

查找 id="div1" 的元素:

var parent=document.getElementById("div1");

查找 id="p1" 的 <p> 元素:

var child=document.getElementById("p1");

从父元素中删除子元素:

parent.removeChild(child);

看完上面的实例解析,您最好能够再看一遍实例,动手操作一下!


lamp 能否在不引用父元素的情况下删除某个元素?
很抱歉。DOM 需要了解您需要删除的元素,以及它的父元素。

这里提供一个常用的解决方法:找到您需要删除的子元素,然后使用 parentNode 属性来查找其父元素:

var child=document.getElementById("p1");
child.parentNode.removeChild(child);


替换 HTML 元素

如果您需要替换 HTML DOM 中的元素,请使用 replaceChild() 方法:

实例

<div id="div1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var para=document.createElement("p");
var node=document.createTextNode("This is new.");
para.appendChild(node);

var parent=document.getElementById("div1");
var child=document.getElementById("p1");
parent.replaceChild(para,child);
</script>

尝试一下 »


HTML DOM - 事件


HTML DOM 允许 JavaScript 对 HTML 事件作出反应。

实例

Mouse Over Me
Click Me


对事件作出反应

当事件发生时,可以执行 JavaScript,比如当用户点击一个 HTML 元素时。

如果您需要在用户点击某个元素时执行代码,请把 JavaScript 代码添加到 HTML 事件属性中:

onclick=JavaScript

HTML 事件的例子:

  • 当用户点击鼠标时
  • 当网页已加载时
  • 当图片已加载时
  • 当鼠标移动到元素上时
  • 当输入字段被改变时
  • 当 HTML 表单被提交时
  • 当用户触发按键时

在本例中,当用户点击时,会改变 <h1> 元素的内容:

实例

<!DOCTYPE html>
<html>
<body>
<h1 onclick="this.innerHTML='Ooops!'">Click on this text!</h1>
</body>
</html>

尝试一下 »

在本例中,会从事件处理程序中调用函数:

实例

<!DOCTYPE html>
<html>
<head>
<script>
function changetext(id)
{
id.innerHTML="Ooops!";
}
</script>
</head>
<body>
<h1 onclick="changetext(this)">Click on this text!</h1>
</body>
</html>

尝试一下 »


HTML 事件属性

如果您需要向 HTML 元素分配事件,您可以使用事件属性。

实例

向 button 元素分配一个 onclick 事件:

<button onclick="displayDate()">Try it</button>

尝试一下 »

在上面的例子中,当点击按钮时,会执行名为 displayDate 的函数。


使用 HTML DOM 来分配事件

HTML DOM 允许您使用 JavaScript 向 HTML 元素分配事件:

实例

为 button 元素分配 onclick 事件:

<script>
document.getElementById("myBtn").onclick=function(){displayDate()};
</script>

尝试一下 »

在上面的例子中,名为 displayDate 的函数被分配给了 id=myButn" 的 HTML 元素。

当按钮被点击时,将执行函数。


onload 和 onunload 事件

当用户进入或离开页面时,会触发 onload 和 onunload 事件。

onload 事件可用于检查访客的浏览器类型和版本,以便基于这些信息来加载不同版本的网页。

onload 和 onunload 事件可用于处理 cookies。

实例

<body onload="checkCookies()">

尝试一下 »


onchange 事件

onchange 事件常用于输入字段的验证。

下面的例子展示了如何使用 onchange。当用户改变输入字段的内容时,将调用 upperCase() 函数。

实例

<input type="text" id="fname" onchange="upperCase()">

尝试一下 »


onmouseover 和 onmouseout 事件

onmouseover 和 onmouseout 事件可用于在鼠标指针移动到或离开元素时触发函数。

实例

一个简单的 onmouseover-onmouseout 实例:

Mouse Over Me

尝试一下 »


onmousedown、onmouseup 以及 onclick 事件

onmousedown、onmouseup 以及 onclick 事件是鼠标点击的全部过程。首先当某个鼠标按钮被点击时,触发 onmousedown 事件,然后,当鼠标按钮被松开时,会触发 onmouseup 事件,最后,当鼠标点击完成时,触发 onclick 事件。

实例

一个简单的 onmousedown-onmouseup 实例:

Click Me

尝试一下 »


HTML DOM 事件对象参考手册

如果您需要每个事件的完整描述和例子,请访问我们的 HTML DOM 参考手册


HTML DOM 导航


通过 HTML DOM,您可以使用节点关系在节点树中导航。


HTML DOM 节点列表

getElementsByTagName() 方法返回节点列表。节点列表是一个节点数组。

下面的代码选取文档中的所有 <p> 节点,点击尝试一下即可进行代码的编写:

实例

var x=document.getElementsByTagName("p");

可以通过下标号访问这些节点。如需访问第二个 <p>,您可以这么写:

y=x[1];

尝试一下 »

需要注意的是:

下标号是从 0 开始的。


HTML DOM 节点列表长度

length 属性定义节点列表中节点的数量。

您可以使用 length 属性来循环节点列表:

实例

x=document.getElementsByTagName("p");

for (i=0;i<x.length;i++)
{
document.write(x[i].innerHTML);
document.write("<br />");
}

尝试一下 »

实例解析:

  • 获取所有 <p> 元素节点
  • 输出每个 <p> 元素的文本节点的值

导航节点关系

您能够使用三个节点属性:parentNode、firstChild 以及 lastChild ,在文档结构中进行导航。

请看下面的 HTML 片段:

<html>
<body>

<p>Hello World!</p>
<div>
  <p>The DOM is very useful!</p>
  <p>This example demonstrates node relationships.</p>
</div>

</body>
</html>
  • 首个 <p> 元素是 <body> 元素的首个子元素(firstChild)
  • <div> 元素是 <body> 元素的最后一个子元素(lastChild)
  • <body> 元素是首个 <p> 元素和 <div> 元素的父节点(parentNode)

firstChild 属性可用于访问元素的文本:

实例

<html>
<body>

<p id="intro">Hello World!</p>

<script>
x=document.getElementById("intro");
document.write(x.firstChild.nodeValue);
</script>

</body>
</html>

尝试一下 »


DOM 根节点

这里有两个特殊的属性,可以访问全部文档:

  • document.documentElement - 全部文档
  • document.body - 文档的主体

实例

<html>
<body>

<p>Hello World!</p>
<div>
<p>The DOM is very useful!</p>
<p>This example demonstrates the <b>document.body</b> property.</p>
</div>

<script>
alert(document.body.innerHTML);
</script>

</body>
</html>

尝试一下 »


childNodes 和 nodeValue

除了 innerHTML 属性,您还可以使用 childNodes 和 nodeValue 属性来获取元素的内容。

下面的代码将教您如何获取 id="intro" 的 <p> 元素的值:

实例

<html>
<body>

<p id="intro">Hello World!</p>

<script>
var txt=document.getElementById("intro").childNodes[0].nodeValue;
document.write(txt);
</script>

</body>
</html>

尝试一下 »

在上面的例子中,getElementById 是一个方法,而 childNodes 和 nodeValue 是属性。

在本教程中,我们将使用 innerHTML 属性。不过,学习上面的方法有助于对 DOM 树结构和导航的理解。

相关文章

CSS 导航栏


你已经学习了 HTML DOM, 下一步呢?


HTML DOM 总结

本教程已经向您讲解了如何使用 HTML DOM 来增强网站的动态交互性以及如何操作 HTML 元素以响应不同的场景。

希望您通过教程中的实例练习能够真正掌握本教程。

如何您需要更多有关 HTML DOM 的信息,请访问我们的 HTML DOM 100实例HTML DOM 参考手册


现在您已经学习了 HTML DOM,下一步呢?

在本教程中,我们已通过在客户端(在浏览器中)使用脚本来创建动态网页。

也可以通过在服务器上使用脚本来增加网页的动态性。

通过服务器端脚本,您能够编辑、添加或更改网页内容。您能够对提交自 HTML 表单的数据做出响应,访问数据或数据库,并向浏览器返回结果,为不同的用户定制页面。

在 W3Cschool,您可以学习以下服务器端脚本教程:

PHP 教程

ASP 教程

.NET 教程

您也可以通过我们的服务器端脚本系列教程页面,快速了解各种不同的服务器端脚本技术。不过在此51coolma小编建议您基础要打牢,方能够成为编程大佬!


HTML DOM 实例


使用JavaScript访问和操作的HTML DOM对象的例子。

Document 对象

Anchor 对象

Area 对象

Base 对象

Button 对象

Form 对象

Frame/IFrame 对象

Image 对象

Event 对象

Option 和 Select 对象

Table, TableHeader, TableRow, TableData 对象