在前端开发中,js与html联系最紧密的莫过于对DOM的操作了,本文为大家分享一些DOM节点的基本操作。
一、创建DOM节点
使用的命令是
var oDiv = document.createElement('div');
这样就创建了一个div标签。
二、插入DOM节点
移动DOM节点也就是把这个节点插入到html文档中的某个地方,这里js给了我们两个方法:
1.appendChild():把节点插入到父节点的末尾。
document.body.appendChild(oDiv); //把div插入到body中,并且位于末尾
2.insertBefore():把节点插入到父节点的某个兄弟节点的前面。
var oP = createElement('p'); //创建一个p节点
document.body.insertBefore(oP,oDiv); //把p节点插入到div的前面
三.删除DOM节点
删除DOM节点的方法是removeChild()。
document.body.removeChild(oP); //删除p节点
四.查找DOM节点
查找DOM节点的方法很多,常用的有:
getElementById() //通过元素Id,唯一性
如html文档如下:
<body>
<div id='box'></div>
</body>
这是可以使用getElementById()获取到id为box的div。
var oDiv = document.getElementById('box');
2.getElementsByTagName() //通过元素的标签名来选择元素
var aDiv = getElementsByTagName('div');
要注意的是,getElementsByTagName()获取的是一组元素,所以如果想取得上面那个id为box的div要在后面加上[0];
var oDiv = getElementsByTagName('div')[0];
五、替换DOM节点
替换DOM节点的方法是replaceChild()。
var oSpan = document.createElement('span'); //创建一个span标签
document.body.replaceChild(oSpan,oBox); //用span标签替换div标签
最常用的DOM操作就是这些了,其他还有很多的方法,就目前而言,各浏览器兼容性不太好,所以还是推荐大家暂时只使用上述这些方法。
补充一个例子:DOM 节点的创建、删除、替换
只要在屏幕上托三个button按钮就可以了,下面就是程序运行时的界面:
<head>
<title></title>
<script type="text/javascript">
function CreateNode() {
var pnode = document.createElement('p');
var tnode = document.createTextNode('烟花三月下扬州');
pnode.appendChild(tnode);
document.body.appendChild(pnode);
}
function ReplaceNode() {
var pnode = document.createElement('p');
var tnode = document.createTextNode('故人西辞黄鹤楼');
pnode.appendChild(tnode);
//获取要替换的p节点
var oldnode = document.getElementsByTagName('p')[0];
oldnode.replaceNode(pnode, oldnode); //此种方法只支持IE
//oldnode.parentNode.replaceChild(pnode,oldnode);//通用的
}
function RemoveNode() {
var oldnode = document.getElementsByTagName('p')[0];
//oldnode.parentNode返回的是p节点的父节点,这里就是body,然后使用body节点的removeChild方法删除其下面的pnode节点
oldnode.parentNode.removeChild(oldnode);
}
</script>
</head>
<body>
<input id="Button1" type="button" value="创建节点" οnclick="CreateNode();"/><br/>
<input id="Button2" type="button" value="替换节点" οnclick="ReplaceNode();"/><br/>
<input id="Button3" type="button" value="删除节点" οnclick="RemoveNode();"/>
</body>
当我点击创建节点时就会出现下面的第一张图片;当我点击替换节点时就是下面的第二张图片的效果;
当我点击删除节点时就是下面的第三张图片,把前面的节点给删除了。
转载自http://www.111cn.net/wy/js-ajax/64107.htm