日期:2014-05-17  浏览次数:20670 次

js控制html dom
HTML 文档中的每个元素、属性、文本等都代表着树中的一个节点

//节点信息

nodeName

标签是标签名
属性是属性值
文本是#text
注释是#comment
文档是#document

nodeValue

标签此属性不可用
属性节点是属性值
文本节点是文本
注释节点是文本
文档此属性不可用

nodeType

元素 1
属性 2
文本 3
注释 8
文档 9
?

//标签节点的访问

//获得标签对象
getElementById()?
getElementsByTagName()
//在文档中进行“短距离的旅行”
parentNode
childNodes
firstChild
lastChild
previousSibling
nextSibling

//属性节点的访问
?标签.属性
<element>.属性名
<element>.getAttribute(name)
<element>.setAttribute(name, value)

//文本节点的访问

firstChild
childNodes
innerHTML

例如:
<div id="box">
? ? <div>good</div>
? ? hello
? ? <!-- info -->
</div>
var obj = document.getElementById('box');
var child = obj.childNodes;
for (var i in child) {
?alert(child[i].nodeName)
?if (child[i].nodeName == '#text') {
? alert('box内的文本是:' + child[i].nodeValue);
?}
?if (child[i].nodeName == '#comment') {
? alert('box内的注释是:' + child[i].nodeValue);
?}
}

最近需要频繁操作DOM、Document对象转载来记录下方便查询
注意大小写一定不能弄错.


属性:

1 Attributes ? ? 存储节点的属性列表(只读)
2 childNodes ? ? 存储节点的子节点列表(只读)
3 dataType ? ? 返回此节点的数据类型
4 Definition ? ? 以DTD或XML模式给出的节点的定义(只读)
5 Doctype ? ? 指定文档类型节点(只读)
6 documentElement ? ? 返回文档的根元素(可读写)
7 firstChild ? ? 返回当前节点的第一个子节点(只读)
8 Implementation ? ? 返回XMLDOMImplementation对象
9 lastChild ? ? 返回当前节点最后一个子节点(只读)
10 nextSibling ? ? 返回当前节点的下一个兄弟节点(只读)
11 nodeName ? ? 返回节点的名字(只读)
12 nodeType ? ? 返回节点的类型(只读)
13 nodeTypedValue ? ? 存储节点值(可读写)
14 nodeValue ? ? 返回节点的文本(可读写)
15 ownerDocument ? ? 返回包含此节点的根文档(只读)
16 parentNode ? ? 返回父节点(只读)