DOM的常用操作(一)

//获得一个DOM结点的ChildList
function getChildNodes(obj){
	var r = new Array();
	for(var i in obj.childNodes){
		if(obj.childNodes[i].nodeType == 1){
			r.push(obj.childNodes[i]);
		}
	}
	return r;
}
//删除所有孩子结点
function removeAllChild(obj){
	while(obj.childNodes.length !== 0){
		obj.removeChild(obj.childNodes[0]);
	}
}
//获得最后一个孩子
function getLastChild(obj){
	var x = obj.lastChild;
	while(x.nodeType !== 1){
		x = x.previousSibling;
	}
	return x;
}
//获得第一个孩子
function getFirstChild(obj){
	var x = obj.firstChild;
	while(x.nodeType !== 1){
		x = x.nextSibling;
	}
	return x;
}

/**
在指定孩子结点后添加新结点
参数说明:
obj: Dom对象
s:指定的孩子结点
c:新添加的结点
*/

function insertChildAfter(obj, s, c){
	obj.insertBefore(c, s.nextSibling);
}

 测试代码:

<script language="JavaScript">
<!--
function init(){

	var rootElmt = document.getElementById("root");
	var r = getChildNodes(rootElmt);
	
	var last = getLastChild(rootElmt);
	alert(last.innerHTML);
	
	var first = getFirstChild(rootElmt);
	alert(first.innerHTML);
	
	var newElmt = document.getElementById("newElmt");
	insertChildAfter(rootElmt,r[2], newElmt);	
	var n = getChildNodes(rootElmt);	
	for(var i in n){
		alert(n[i].innerHTML);
	}
	
	removeAllChild(rootElmt);
	alert(rootElmt.innerHTML);
}
//-->
</script>
<body οnlοad="init()">
<div id="root">
	<div>A</div>
	<div>
		<div>BB</div>
		<div>CC</div>
	</div>
	<div>D</div>
	<div>E</div>
</div>
<div id="newElmt">N</div>
</body>

 注:FireFox浏览器不支持innerText方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值