深圳软件测试培训:dom节点
dom不仅可以查找节点,也可以创建节点、复制节点、插入节点、删除节点和替换节点。
节点操作方法
方法 说明
write() 把任意字符串插入到文档中
createelement() 创建一个元素节点
appendchild() 将新节点追加到子节点列表的末尾
createtextnode() 创建一个文件节点
insertbefore() 将新节点插入在前面
repalcechild() 将新节点替换旧节点
clonenode() 复制节点
removechild() 移除节点
1.write()方法
write()方法可以把任意字符串插入到文档中去。
document.write(‘
这是一个段落!
’)’ ; //输出任意字符串
2.createelement()方法
createelement()方法可以创建一个元素节点。
document.createelement(‘p’); //创建一个元素节点
3.appendchild()方法
appendchild()方法讲一个新节点添加到某个节点的子节点列表的末尾上。
var box = document.getelementbyid(‘box’); //获取某一个元素节点
var p = document.createelement(‘p’); //创建一个新元素节点
box.appendchild§; //把新元素节点
添加子节点末尾
4.createtextnode()方法
createtextnode()方法创建一个文本节点。
var text = document.createtextnode(‘段落’); //创建一个文本节点
p.appendchild(text); //将文本节点添加到子节点末尾
5.insertbefore()方法
insertbefore()方法可以把节点创建到指定节点的前面。
box.parentnode.insertbefore(p, box); //把
之前创建一个节点
ps:insertbefore()方法可以给当前元素的前面创建一个节点,但却没有提供给当前元素的后面创建一个节点。那么,我们可以用已有的知识创建一个insertafter()函数。
function insertafter(newelement, targetelement) {
//得到父节点
var parent = targetelement.parentnode;
//如果最后一个子节点是当前元素,那么直接添加即可
if (parent.lastchild === targetelement) {
parent.appendchild(newelement);
} else {
//否则,在当前节点的下一个节点之前添加
parent.insertbefore(newelement, targetelement.nextsibling);
}
}
var input = null;
if (browserdetect.browser == ‘internet explorer’ && browserdetect.version <= 7) {
input = document.createelement();
} else {
//标准浏览器,使用标准方式
input = document.createelement(‘input’);
input.setattribute(‘type’, ‘radio’);
input.setattribute(‘name’, ‘sex’);
}
document.getelementsbytagname(‘body’)[0].appendchild(input);
6.repalcechild()方法
replacechild()方法可以把节点替换成指定的节点。
box.parentnode.replacechild(p,box); //把
换成了
7.clonenode()方法
clonenode()方法可以把子节点复制出来。
var box = document.getelementbyid(‘box’);
var clone = box.firstchild.clonenode(true); //获取第一个子节点,true表示复制内容
box.appendchild(clone); //添加到子节点列表末尾
8.removechild()方法
removechild()方法可以把
box.parentnode.removechild(box); //删除指定节点