让IE和Firefox都支持innerText(textContent )

 先总结一个比较简单的方法吧:

if(document.all){
document.getElementById('element').innerText = "my text";
} else{
document.getElementById('element').textContent = "my text";
}

然后再总结一个加一个JS就可以让你的现有的只支持IE浏览器的代码,直接支持Firefox的;

<mce:script type="text/javascript"><!--

var lBrowser = {};
lBrowser.agt = navigator.userAgent.toLowerCase();
lBrowser.isW3C = document.getElementById ? true:false;
lBrowser.isIE = ((lBrowser.agt.indexOf("msie") != -1) && (lBrowser.agt.indexOf("opera") == -1) && (lBrowser.agt.indexOf("omniweb") == -1));
lBrowser.isNS6 = lBrowser.isW3C && (navigator.appName=="Netscape") ;
lBrowser.isOpera = lBrowser.agt.indexOf("opera") != -1;
lBrowser.isGecko = lBrowser.agt.indexOf("gecko") != -1;
lBrowser.ieTrueBody =function (){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
};
//为Firefox下的DOM对象增加innerText属性
if(lBrowser.isNS6){ //firefox innerText define
HTMLElement.prototype.__defineGetter__( "innerText",
function(){
return this.textContent;
}
);
HTMLElement.prototype.__defineSetter__( "innerText",
function(sText){
this.textContent=sText;
}
);
}
alert(lBrowser.isNS6);
// --></mce:script>

时间: 2024-12-24 10:46:16

让IE和Firefox都支持innerText(textContent )的相关文章

textContent在Firefox下与innerText等效的属性_javascript技巧

在IE和Opear下,DOM对象支持innerText属性,可以很方便的去除HTML标签. 但在Firefox不支持该属性,好在FF下的DOM对象支持textContent,该属性与innerText等效. 演示实例: <p id="TestObj">Hi,I'm <strong>cnlei</strong>.Welcome to my homepage:<a href="http://www.cnlei.com">h

让FireFox支持innerText的实现代码_javascript技巧

为firefox实现innerText属性很多代码写了又忘忘了又写,很浪费,所以决定养成做笔记的习惯. 知识点: 0.为什么要innerText?因为安全问题 1.为firefox dom模型扩展属性 2.currentStyle属性可以取得实际的style状态 3.IE实现innerText时考虑了display方式,如果是block则加换行 4.为什么不用textContent?因为textContent没有考虑元素的display方式,所以不完全与IE兼容 复制代码 代码如下: <html

FireFox支持innerText

默认FireFox是不支持innerText的,不过它有一个属性textContent的作用和innerText是一样的,使用方法如下: document.write(document.body.textContent); 对于习惯使用innerText的人来说有点不舒服,于是网上有人就给FireFox也创建了一个innerText属性,代码如下: <script language="javascript"> function isIE(){ //ie? if (windo

关于Mozilla浏览器不支持innerText的解决办法_javascript技巧

比如: <p id="test"><strong><font color="red">Hello</font> , world!</strong></p> 我们使用代码:alert((document.getElementById("test")).innerText) 在IE.Chrome中,均能获取到"Hello , world!",但是在Firefo

Mozilla计划让Firefox浏览器支持WebKit前缀网站

Mozilla正在研究一种方法,让Firefox浏览器原生支持webkit前缀的网站.浏览器特定的前缀长期存在,使开发人员可以编写只在某个浏览器中执行代码.这使他们能够在某些特定代码成为标准之前,就让特定浏览器可以执行这些代码.目前,这些浏览器前缀包括针对Firefox的moz前缀,针对Chrome和Safari的webkit前缀,由于基于WebKit的浏览器开始称雄,越来越多的开发商开始使用webkit前缀,Firefox浏览器的moz前缀开始遭遇冷落. 为此,Mozilla开始为Firefo

link中的顺变和逆变有几种形式?是不是都支持,还是有什么限制?

问题描述 link中的顺变和逆变有几种形式?是不是都支持,还是有什么限制? link中的顺变和逆变有几种形式?是不是都支持,还是有什么限制? 解决方案 一共两种,一个是接口,一个是委托,限制就是对于类,是不支持协变逆变的,你可以用Select操作做一个投影转化.

虚拟机-Azure 的API文档不是很丰富,它所有对象都支持Rest 形式的操作?

问题描述 Azure 的API文档不是很丰富,它所有对象都支持Rest 形式的操作? 1.Azure对于虚拟机的API 提供哪些操作,包括虚拟机的整个生命周期? 解决方案 Hi, 请阅读参考这篇文章:https://msdn.microsoft.com/zh-cn/library/azure/jj157206.aspx/ 文章罗列出了一些关于虚拟机的Rest API操作,并对每个操作有详细的文档指导我们如何编写Rest API请求. Best Regards, Jambor 如果您想进一步了解W

jQuery技巧之让任何组件都支持类似DOM的事件管理_jquery

本文介绍一个jquery的小技巧,能让任意组件对象都能支持类似DOM的事件管理,也就是说除了派发事件,添加或删除事件监听器,还能支持事件冒泡,阻止事件默认行为等等.在jquery的帮助下,使用这个方法来管理普通对象的事件就跟管理DOM对象的事件一模一样,虽然在最后当你看到这个小技巧的具体内容时,你可能会觉得原来如此或者不过如此,但是我觉得如果能把普通的发布-订阅模式的实现改成DOM类似的事件机制,那开发出来的组件一定会有更大的灵活性和扩展性,而且我也是第一次使用这种方法(见识太浅的原因),觉得它

现在CrossApp都支持哪些平台?

问题描述 现在CrossApp都支持哪些平台? 解决方案 当前主要支持win32.mac.iOS.android