<div id="test"></div>
<script type="text/javascript">
//自定义js扩展DOM功能
//用Prototype来扩展每个HTML元素的方法或者属性
var DOMextend=function(name,fn){
if(!document.all){
eval("HTMLElement.prototype."+name+"=fn");
}else{
// IE中不能访问HTMLElement这个类
// 为了达到同样的目的,必须重写下面几个函数
// document.createElement
// document.getElementById
// document.getElementsByTagName
// 这几个函数都是获得HTML元素的方法
// 修改这些方法,使得通过这些方法获得的每个元素拥有名称为name的方法fn
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;
}
}
}
window.onload = function(){
DOMextend("sayMe",function(){
alert("sayhi,yes!");});
document.getElementById("test").sayMe();
}
</script>