innerText和innerHTML在IE中能正常工作,但是innerText在FireFox中却不行.
为什么呢?因为这两个属性都不是DHTML标准。
那为什么innerHTML在FF中可以呢?因为这个东西用得多了就成了事实的标准,而FF支持很多事实上的标准。
但是很可惜不支持innerText。
如何做呢?经过一翻较量,和查看FF的javascript console最终网上找到如下代码:
if(navigator.appName.indexOf("Explorer") > -1){ document.getElementById('element').innerText = "my text";} else{ document.getElementById('element').textContent = "my text";}
试验可行。。。
解决方法二:
document.all?oTable.rows[i].cells[2].innerText:oTable.rows[i].cells[2].textContent或者
length=oTable.rows[2].cells[2].innerText?oTable.rows[2].cells[2].innerText:oTable.rows[2].cells[2].textContent
解决方法三:
<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);
</script>
分享到:
相关推荐
在IE浏览器中,innerText是可用的,但在其他遵循W3C标准的浏览器(如Firefox、Chrome等)中,可能需要使用textContent属性来达到类似效果。以下是一个使用innerText的例子: ```javascript var DT = document....
### Javascript的IE与Firefox(火狐)兼容性解决方案 在Web开发过程中,浏览器兼容性问题一直是开发者们关注的重点之一。由于不同的浏览器对于Web标准的支持程度存在差异,这导致了同样的代码在不同浏览器中的表现...
首先,`innerText` 属性是Internet Explorer特有的,而`textContent` 属性则在Firefox和其他遵循W3C标准的浏览器中被广泛支持。当一些开发者从IE转向其他浏览器时,常常遇到不兼容的问题,因为他们在Firefox中尝试...
需要注意的是,`innerText`仅在IE浏览器中被支持,而在其他遵循W3C标准的浏览器(如Firefox, Chrome, Safari, Opera等)中,推荐使用`textContent`来实现相同的功能。为了实现跨浏览器兼容性,可以使用`innerText`和...
IE使用`innerText`属性来读取和修改元素的文本内容,而Firefox则使用`textContent`。此外,当文本内容包含HTML标签时,使用`innerHTML`可能在Firefox中导致意外的行为,应使用更安全的文本节点创建和插入方法。 2....
但在Firefox不支持该属性,好在FF下的DOM对象支持textContent,该属性与innerText等效。 演示实例: ”TestObj”>Hi,I’m <strong>cnlei</strong>.Welcome to my homepage:<a>http://www.cnlei.com</a>.</p> ...
- IE使用`innerText`,Firefox使用`textContent`。可以同时设置和获取这两个属性以确保兼容。 12. **样式相关数值大小问题** - Firefox返回的像素值通常不含单位,IE则包含。在处理时需要考虑这一点,例如使用`...
在使用innerText时,Firefox会保留字符串中的所有空格,而textContent则不会。如果不需要保留空格,可以通过textContent来实现innerText的功能。如果字符串中不包含HTML标签,也可以使用innerHTML来替代innerText。 ...
- Firefox不支持`innerText`,但提供`textContent`,它会保留所有空白字符。如果不需要处理HTML,可以使用`innerHTML`代替。 2. **禁止选取内容**: - IE使用JavaScript的`onselectstart`事件处理函数,如`obj....
在互联网的早期,IE(Internet Explorer)和Firefox(火狐浏览器)是两个主要的Web浏览平台,它们在处理CSS(层叠样式表)和JavaScript方面存在显著的差异。这些差异对于开发者来说至关重要,因为它们影响了网站在...
然而,innerText是非标准属性,在Firefox中不被支持,应尽量避免在跨浏览器的项目中使用。 这四个属性之间的关键区别在于它们如何处理HTML结构、CSS样式以及文本的格式化。在处理元素内容时,选择合适的属性取决于...
- 在IE中,`innerText`用于获取或设置元素的文本内容,但Firefox不支持`innerText`,它使用`textContent`,但`textContent`会保留所有空白字符。 - 如果只需要文本内容且不关心空白,`innerHTML`在IE和Firefox中都...
本文将详细介绍如何在Internet Explorer(简称IE)和Mozilla Firefox(简称Firefox)之间实现`innerText`和`innerHTML`属性的兼容性处理,并提供一种解决方案使得这两个属性能够在不同浏览器中表现一致。 #### 一、...
- `innerHTML`和`innerText`:IE支持`innerText`,Firefox支持`textContent`,使用时需要考虑兼容性。 解决这些问题通常需要编写条件语句,使用库(如jQuery)或适配器模式来封装差异。理解这些兼容性问题并采取...
在处理文本内容方面,IE支持`innerText`属性,允许获取或设置元素的纯文本内容,但Firefox不支持`innerText`,而是使用`textContent`。然而,`textContent`会保留多余的空格,如果不需要这些空格,可以考虑使用`...
本文将基于提供的文档摘要,深入探讨Internet Explorer(IE)与Mozilla Firefox(火狐)这两种主流浏览器在处理DOM操作、事件绑定等方面存在的差异,并提出相应的解决方案。 #### 一、InnerText与InnerHTML - **...
- **Firefox和Opera**:要求元素不在DOM树中时进行插入。 为了实现跨浏览器兼容性,可以使用如下方法: ```javascript var setInnerHTML = function (el, htmlCode) { var ua = navigator.userAgent.toLowerCase...