JavaScript操作DOM总结之 HTML DOM 访问节点
1.
指定的 ID 来返回元素:document.getElementById("ID");
注释:getElementById() 无法工作在 XML 中,这两种方法会像您提供任何你所需要的 HTML 元素;
2. 指定的标签名返回所有的元素:document.getElementsByTagName("标签名称");
注释:
1)可被用于任何的 HTML 元素,包括XML;
2)通过它们的索引号来访问这些 <p> 元素,索引号从 0 开始;
3. 通过使用 length 属性来循环遍历节点列表:
注释:
var x=document.getElementsByTagName("p");
for (var i=0;i<x.length;i++)
{
// do something with each paragraph
}
4.
在文档中进行“短距离的旅行”,parentNode、firstChild以及lastChild:
请看下面这个 HTML 片段:
<table>
<tr>
<td>John</td>
<td>Doe</td>
<td>Alaska</td>
</tr>
</table>
在上面的HTML代码中,第一个 <td> 是 <tr> 元素的首个子元素(firstChild),
而最后一个 <td> 是 <tr>元素的最后一个子元素(lastChild)。
<tr> 是每个 <td>元 素的父节点(parentNode)。
注释:对 firstChild 最普遍的用法是访问某个元素的文本:var text=x.firstChild.nodeValue;
parentNode 属性常被用来改变文档的结构:假设您希望从文档中删除带有 id 为 "maindiv" 的节点
var x=document.getElementById("maindiv");
x.parentNode.removeChild(x);
有两种特殊的文档属性可用来访问根节点:
- document.documentElement
- document.body
第一个属性可返回存在于 XML 以及 HTML 文档中的文档根节点。
第二个属性是对 HTML 页面的特殊扩展,提供了对 <body> 标签的直接访问。
节点信息
每个节点都拥有包含着关于节点某些信息的属性。这些属性是:
- nodeName(节点名称)
- nodeValue(节点值)
- nodeType(节点类型)
nodeName
nodeName 属性含有某个节点的名称。
- 元素节点的 nodeName 是标签名称
- 属性节点的 nodeName 是属性名称
- 文本节点的 nodeName 永远是 #text
- 文档节点的 nodeName 永远是 #document
注释:nodeName 所包含的 XML 元素的标签名称永远是大写的
nodeValue
对于文本节点,nodeValue 属性包含文本。
对于属性节点,nodeValue 属性包含属性值。
nodeValue 属性对于文档节点和元素节点是不可用的。
nodeType
nodeType 属性可返回节点的类型。
最重要的节点类型是:
元素类型 | 节点类型 |
---|---|
元素 | 1 |
属性 | 2 |
文本 | 3 |
注释 | 8 |
文档 | 9 |