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

Javascript
JavaScript实际应用:innerHTMl和确认提示的使用
CheckBox 如何实现全选?
解密效果
文本加密解密
快速保存网页中所有图片的方法
如何取得中文输入的真实长度?
Javascript调用XML制作连动下拉列表框
表格轮换显示 强
超级强大的表单验证
图片之间的切换
客户端静态页面玩分页
接收键盘指令的脚本
如果文字过长,则将过长的部分变成省略号显示
些很实用且必用的小脚本代码
经典的带阴影的可拖动的浮动层
漂亮的仿flash菜单,来自蓝色经典
Ctrl+Enter提交内容信息
accesskey 提交
采用CSS和JS,刚好我最近有个站点要用到下拉菜单!
滚动效果

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 125 ::
收藏到网摘: 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