jquery是如何扩展dom

这个函数是 《犀利开发 jquery内核详解与实践》这本书中的一段代码.
作用是用来扩展DOM的.然后为DOM绑定自定义函数.不知道这个可不可以拿来用.
我试验之后,可以用.但是不知道有没有什么问题.

代码如下

var DOMextend=function(name,fn){
if(!document.all){
	eval("HTMLElement.prototype."+name+"=fn");
}else{
	var _createElement=document.createElement;
	document.createElement=function(tag){
        //为createElement函数绑定自定义函数
		var _elem=_createElement(tag);
		eval("_elem."+name+"=fn");
		return _elem;
	}
	var _getElementById=document.getElementById;
	document.getElementById=function(id){
        //为getElementById函数绑定自定义函数
		var _elem=_getElementById(id);
		eval("_elem."+name+"=fn");
		return _elem;
	}
	var _getElementsByTagName=document.getElementsByTagName;
	document.getElementsByTagName=function(tag){
        //为getElementsByTagName函数绑定自定义函数
		var _arr=_getElementsByTagName(tag);
		for(var _elem=0;_elem<_arr.length;_elem++){
			eval("_arr[_elem]."+name+"=fn");
		}
	return _arr;	
	}
}	
}


测试用例
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="domextend.js"></script>
</head>
<body>
<div id="test"></div>
<script type="text/javascript">
DOMextend("sayhi",function(){
	alert("sayhi,yes!");});
document.getElementById("test").sayhi();
</script>
</body>
</html>

http://isayme.com/2011/10/domextend-function/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值