当前位置: 首页 > 图文教程 > 网络编程 > Javascript > textContent在Firefox下与innerText等效的属性

Javascript
vml圆角矩形最简布局
DOM精简教程
[换皮肤程序]一个比较使用的脚本程序
JS中style属性
Google Suggest ;-) 基于js的动态下拉菜单
jQuery 1.0.2
PJ Blog插件-防刷新的在线播放器
使javascript也能包含文件
Dron右键菜单 v1.0
HTML里select的CSS样式的改变
仿Google和Windows Live的拖拽
"好玩的放大镜效果" 的另一种实现方法
xWin之JS版
bcastr2.0 通用的图片浏览器
addRule在firefox下的兼容写法
JS日历 推荐
用脚本调用样式的几种方法
不错的新闻标题颜色效果
用JavaScript获取网页中的js、css、Flash等文件
用js+xml自动生成表格的东西

Javascript 中的 textContent在Firefox下与innerText等效的属性


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 273 ::
收藏到网摘: n/a

在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">http://www.cnlei.com</a>.</p>
<script type="text/javascript">
function getInnerText(obj){
return document.all?obj.innerText:obj.textContent;
}
var str = getInnerText(document.getElementById("TestObj"));
alert(str);
</script>
为Firefox下的DOM对象增加innerText属性:
<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>
附录 DOM Reference:
Firefox DOM参考:http://www.mozilla.org/docs/dom/domref/dom_shortTOC.html
IE DOM参考:
http://msdn2.microsoft.com/en-us/library/ms533050.aspx