javascript DOM model操作
DOM
D-document
O-object
M-Model
一、将文档想成一个倒数, 每一部分(元素、内容、属性、注释)都是一个节点。
二、只要知道一个节点,按关系找到其它节点
父节点: parentNode
子节点(第一个,最后一个) childNodes firstChild lastChild
兄弟节点 (上一个, 下一个) nextSibling previousSlibing
三、找到节点:节点类型(nodeType)、节点名(nodeName)、节点值(nodeValue)
每个节点都拥有包含着关于节点某些信息的属性, 这些属性是
nodeName (节点名称)
nodeType (节点类型)
nodeValue(节点值)
nodeName 属性含有节点名称
元素节点的nodeName 是标签名称
属性节点的nodeName 是属性名称
文本节点的nodeName 永远是#text
文档节点的nodeName 永远是#document
注释:nodeName 所包含的xml 元素的标签名称永远是大写的。
对于文本节点,nodeName 属性包含文本
对于属性节点,nodeValue属性包含属性值
nodeValue 属性对于文档节点和元素节点是不可用的
nodeType 属性可返回节点的类型
最重要的节点类型是:
元素类型 节点类型
元素 1
属性 2
文本 3
注释 8
文档 9
可以在一个文档流中:
1.创建节点
document.createElement(节点元素名);
2.添加节点
appendChild(节点);
insertBefore(节点);
3.删除节点
removeChild(节点);
参考实例
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>节点操作</title>
</head>
<body>
content<br/>
content<br/>
content<br/>
<div id="one">
<b>bbbbbbbb</b>
<s id="two">ssssssssssss</s><i>iiiiiii</i>
</div>
content<br/>
content<br/>
content<br/>
<script type="text/javascript">
function addNode(){
var one = document.getElementById('one');
var two = document.getElementById('two');
var obj = document.createElement('a');
obj.href= 'http://www.ybbqg.com';
obj.tille= '追加节点';
obj.textContent = 'nodeContent';
//document.body.appendChild(obj); //在body元素中追加节点
//one.appendChild(obj); //在指定元素中追加节点
var u = document.createElement('u');
u.name = 'uuuuuu';
u.textContent = 'uuuuuuuuu';
obj.appendChild(u);
//one.insertBefore(obj, two); //在two元素之前添加
//one.insertBefore(obj, two.nextSibling); //之前添加
insertAfter(one, obj, two);
}
//在之后添加节点
function insertAfter(fobj, newobj, location){
if (location.nextSibling.nodeType == 1){
fobj.insertBefore(newobj, location.nextSibling);
} else {
fobj.appendChild(newobj);
}
}
//删除节点
function delNode(){
var one = document.getElementById('one');
one.removeChild(one.lastChild);
}
</script>
<a href="javascript:addNode()">add</a>
<a href="javascript:delNode()">del</a>
</body>
</html>
前望

浙公网安备 33010602011771号