`
yunnysunny
  • 浏览: 19175 次
  • 性别: 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';
			});
分享到:
评论

相关推荐

    JavaScript在IE和Firefox(火狐)的不兼容问题解决

    代码中首先检查当前环境是否支持`HTMLElement.prototype`,然后定义了`outerHTML`的setter和getter,实现了在Firefox中对元素及其子元素进行替换和获取的功能。 ### 二、数组访问方式的统一 在IE中,可以使用点号...

    将HTML格式的String转化为HTMLElement的实现方法

    例如,上述代码在Chrome中能够正确运行,输出`descElements`的长度为5,但IE可能由于不同的解析规则导致输出为0。这是由于浏览器之间的差异,通常需要对代码进行跨浏览器的优化和测试。 此外,当在JavaScript中声明...

    IE 下dom查看器

    虽然现代浏览器倾向于使用更通用的开发者工具,如Chrome DevTools或Firefox Developer Tools,但了解IE的DOM查看器对于支持旧版本IE的项目仍然至关重要。 **压缩包子文件的文件名称列表** 这些文件名代表了可能在...

    ie和火狐的兼容问题总结

    - **IE**:仅支持`innerText`属性,该属性返回或设置节点及其子节点的文本内容,不包括任何标签或格式。 - **Firefox**:支持`textContent`和`innerText`两个属性,其中`textContent`在某些场景下更加灵活。 - **...

    C# .net IE浏览器设置

    同时,由于IE的市场份额逐渐减少,现在更多地是转向对Chrome、Firefox等现代浏览器的支持,例如使用CEFSharp库。但了解如何使用C# .NET控制IE,对于维护旧系统或特定场景的开发仍然是有价值的。

    让firefox支持IE的一些方法的javascript扩展函数代码

    在IE中,HTMLElement是直接支持click方法的,但是在Firefox中没有这样的原生支持。通过Object.prototype.__defineGetter__和Object.prototype.__defineSetter__方法,可以为HTMLElement类动态添加innerText的getter...

    用c#些的IE例子。有注释

    在C#编程语言中,开发基于Internet Explorer(简称IE)的应用程序主要涉及到Windows Forms或WPF等桌面应用程序框架,以及Microsoft的WebBrowser控件。WebBrowser控件允许开发者在应用程序中嵌入一个网页浏览器,从而...

    仅IE支持clearAttributes/mergeAttributes方法使用介绍

    在IE浏览器中,HTMLElement元素拥有两个非标准的方法:clearAttributes()和mergeAttributes()。这两个方法在其他现代浏览器中并不支持,因此在编写兼容性良好的Web应用时,开发者需要注意这一点。 一、clear...

    IE WebBrowser控件基本使用

    不过需要注意,由于该控件基于旧版IE,可能不支持一些现代Web技术,如HTML5的新特性。在新项目中,可能需要考虑使用更现代的解决方案,如Chromium Embedded Framework(CEF)或Microsoft的Edge WebView2控件。

    Firefox浏览器兼容JS脚本

    获取DOM元素的属性值时,IE支持直接使用属性名来获取,而Firefox只支持通过`getAttribute()`方法获取。为了提高代码的兼容性,建议统一使用`getAttribute()`方法来获取属性值。 ```javascript // IE var value = ...

    Vue+iview+webpack ie浏览器兼容简单处理

    作者写了一个脚本嵌入index.html文件中,通过Object.defineProperty()方法来定义HTMLElement.prototype的dataset属性,使其能够在ie浏览器中正常使用。 此外,文章还介绍了如何配置webpack,比如在module的rules中...

    让Firefox支持event对象实现代码

    然而,Firefox并不支持`window.event`,而是将事件对象作为事件处理函数的第一个参数传递。 为了在Firefox中获取事件对象,开发者通常需要像这样编写事件处理函数: ```javascript btn.onclick = handle_btn_click...

    C#IE实例

    WebBrowser控件还支持执行JavaScript代码,这在与网页进行更复杂交互时非常有用。例如,调用一个JavaScript函数: ```csharp wb.Document.InvokeScript("myFunction", new object[] { "参数" }); ``` 6. **自动...

    HtmlCaptor-source

    综上所述,HTMLCaptor-source项目提供了使用SharpDevelop和.NET SDK与MS-IE的COM组件交互的实例,特别是涉及到HTMLElement对象的捕获和操作,这对于理解和实践Web自动化和网页抓取技术有着重要的参考价值。

    custom-element-shim:使用 document-register-element 支持 IE8 和 amd 的 document.registerElement 垫片

    然而,自定义元素的原生API `document.registerElement` 在较旧的浏览器,尤其是IE8,是不被支持的。为了解决这个问题,开发者们开发了垫片(Shim)库,如`custom-element-shim`,来模拟这些新特性,使得这些新功能...

    Firefox和IE浏览器兼容JS脚本写法小结

    使用`addEvent`函数来添加事件监听器,这个函数会检查浏览器是否支持`attachEvent`(IE)或`addEventListener`(Firefox)。这样可以确保在不同浏览器中都能正确绑定事件处理函数。 5. **Firefox注册innerText写法...

    让innerText在firefox火狐和IE浏览器都能用的写法

    然而,Firefox浏览器并不直接支持innerText,而是使用textContent属性来实现类似的功能。textContent会返回元素及其所有子元素的纯文本内容,包括换行和空白字符。这导致在Firefox中使用innerText时会遇到兼容性问题...

    日期控件 ZeroCalendar

    3、支持绝大部分浏览器(IE,firefox,safari,netscape,opera均通过测试); 4、不仅仅实现了日历,还对Date对象进行了扩展,具体的method方法说明请参考js/core/Date.js; 5、还有就是对htmlElement进行了扩展,方便...

    classList:为IE8扩充classList特性

    然而,这个特性在早期的浏览器版本,尤其是IE8中并未被支持。`classList` 的主要功能包括添加、删除、切换和检查元素的类名,这在现代Web开发中是非常常见且重要的操作。由于IE8不原生支持这一特性,开发者通常需要...

Global site tag (gtag.js) - Google Analytics