通过 HTML DOM,能够使用节点关系来导航节点树。
根据 W3C HTML DOM 标准,HTML 文档中的所有事物都是节点:

有了 HTML DOM,节点树中的所有节点都能通过 JavaScript 访问。
能够创建新节点,还可以修改和删除所有节点。
节点树中的节点彼此之间有一定的等级关系。
【举个栗子】
<html>
<head>
<title>DOM 教程title>
head>
<body>
<h1>DOM 第一课h1>
<p>Hello world!p>
body>
html>

从以上的 HTML 中您能读到以下信息:
同时:
有一个子:“Hello world!”
是同胞
通过 JavaScript,开发者可以使用以下节点属性在节点之间导航:
DOM 处理中的一种常见错误是认为元素节点中包含文本。
【举个栗子】
DOM 教程
(上面例子中的)元素节点
它包含了值为 “DOM 教程” 的文本节点。【OMG】
文本节点的值能够通过节点的 innerHTML 属性进行访问:
var myTitle = document.getElementById("demo").innerHTML;
访问 innerHTML 属性等同于访问首个子节点的 nodeValue:
var myTitle = document.getElementById("demo").firstChild.nodeValue;
也可以这样访问第一个子节点:
var myTitle = document.getElementById("demo").childNodes[0].nodeValue;
以下三个例子取回 元素的文本并复制到 元素中:
①
<html>
<body>
<h1 id="id01">我的第一张页面h1>
<p id="id02">Hello!p>
<script>
document.getElementById("id02").innerHTML = document.getElementById("id01").innerHTML;
script>
body>
html>

②
<html>
<body>
<h1 id="id01">我的第一张页面h1>
<p id="id02">Hello!p>
<script>
document.getElementById("id02").innerHTML = document.getElementById("id01").firstChild.nodeValue;
script>
body>
html>

③
<html>
<body>
<h1 id="id01">我的第一张页面h1>
<p id="id02">Hello!p>
<script>
document.getElementById("id02").innerHTML = document.getElementById("id01").childNodes[0].nodeValue;
script>
body>
html>
使用 innerHTML 取回 HTML 元素的内容。
有两个特殊属性允许访问完整文档:
【举个栗子】
<html>
<body>
<p>Hello World!p>
<div>
<p>DOM 很有用!p>
<p>本例演示 <b>document.bodyb> 属性。p>
div>
<script>
alert(document.body.innerHTML);
script>
body>
html>

<html>
<body>
<p>Hello World!p>
<div>
<p>DOM 很有用!p>
<p>本例演示 <b>document.documentElementb> 属性。p>
div>
<script>
alert(document.documentElement.innerHTML);
script>
body>
html>

nodeName 属性规定节点的名称。
<h1 id="id01">我的第一张网页h1>
<p id="id02">Hello!p>
<script>
document.getElementById("id02").innerHTML = document.getElementById("id01").nodeName;
script>

**注释:**nodeName 总是包含 HTML 元素的大写标签名。
nodeValue 属性规定节点的值。
nodeType 属性返回节点的类型。nodeType 是只读的。
<h1 id="id01">我的第一张网页h1>
<p id="id02">Hello!p>
<script>
document.getElementById("id02").innerHTML = document.getElementById("id01").nodeType;
script>

最重要的 nodeType 属性是:

Type 2 在 HTML DOM 中已弃用。XML DOM 中未弃用。