`
yunnysunny
  • 浏览: 18871 次
  • 性别: Icon_minigender_1
  • 来自: 济南
文章分类
社区版块
存档分类
最新评论

ie支持htmlelement

阅读更多
var DOMElement ={
			extend: function(name,fn){//添加名称为name的方法fn
			
				if(!document.all)//除了ie而外的浏览器都能够访问到HTMLElement这个类
					HTMLElement.prototype[name] = fn;//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){
						var _elem = _createElement(tag);
						_elem[name] = fn;//eval("_elem." + name + " = fn");也可以达到同样的目的
						return _elem;
					}

					var _getElementById = document.getElementById;
					document.getElementById = function(id){
						var _elem = _getElementById(id);
						_elem[name] = fn;
						return _elem;
					}

					var _getElementsByTagName = document.getElementsByTagName;
					document.getElementsByTagName = function(tag){
						var _arr = _getElementsByTagName(tag);
						for(var _elem=0;_elem<_arr.length;_elem++) {
							_arr[_elem][name] = fn;//eval("_arr[_elem]." + name + " = fn");
						}
						return _arr;
					}
				}
				return this;//可以使用连带操作
			}
		};		

使用方法:
DOMElement.extend('show',function() {
				//if ('inline' == type)
				//{
					//this.style.display = 'inline';
				//}
				//else 
				//{
					this.style.display = 'block';
				//}			
			});DOMElement.extend('hide',function() {
				this.style.display = 'none';
			});
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics