DOM封装函数

编辑函数,封装myChildren功能,解决以前部分浏览器的兼容性问题。

<script type="text/javascript">
	Element.prototype.myChildren = function() {
		var child = this.childNodes;
		var len = child.length;
		var arr = [];
		for(var i = 0; i < len; i++)
		{
			if(child[i].nodeType == 1){
				arr.push(child[i]);
			}	
		}
		return arr;
	}
</script>

编辑函数,封装hasChildren()方法,不可用children属性。

<script type="text/javascript">
	Element.prototype.myhasChildren = function() {
		var child = this.childNodes;
		var len = child.length;
		var arr = [];
		for(var i = 0; i < len; i++)
		{
			if(child[i].nodeType == 1){
				return true;
			}	
		}
		return false;
	}
</script>

封装函数insertAfter();功能类似insertBefore();

<script type="text/javascript">
	Element.prototype.insertAfter = function(targetNode, afterNode) {
		var beforeNode = afterNode.nextElementSibling;
		if(beforeNode == null){
			this.appendChild(targetNode);
		}else{
			this.insertBefore(targetNode, beforeNode)
		}
	}
</script>

将目标节点内部的节点顺序逆序

eg: <div> <a></a><em></em></div>

逆序后:<div><em></em><a></a></div>

<script type="text/javascript">
	Element.prototype.reverseElement = function() {
		var child = this.children;
		var len = child.length;
		for(var i = len - 2; i >=  0; i--){
			this.appendChild(child[i]);
		}
	}
	var div = document.getElementsByTagName('div')[0];
</script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值