textContent在Firefox下与innerText等效的属性


Posted in Javascript onMay 12, 2007

在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 

Javascript 相关文章推荐
jquery ready()的几种实现方法小结
Jun 18 Javascript
javascript一元操作符(递增、递减)使用示例
Aug 07 Javascript
一个CSS+jQuery实现的放大缩小动画效果
Feb 19 Javascript
jquery遍历checkbox的注意事项说明
Feb 21 Javascript
JavaScript检测鼠标移动方向的方法
May 22 Javascript
jQuery Mobile 和 Kendo UI 的比较
May 05 Javascript
微信小程序 wxapp视图容器 view详解
Oct 31 Javascript
react.js 父子组件数据绑定实时通讯的示例代码
Sep 25 Javascript
安装Node.js并启动本地服务的操作教程
May 12 Javascript
微信小程序调用摄像头隐藏式拍照功能
Aug 22 Javascript
npm 语义版本控制详解
Sep 10 Javascript
vue 动态添加class,三个以上的条件做判断方式
Nov 02 Javascript
关于__defineGetter__ 和__defineSetter__的说明
May 12 #Javascript
JavaScript Archive Network 集合
May 12 #Javascript
(仅IE下有效)关于checkbox 三态
May 12 #Javascript
弹出广告特效代码(一个IP只弹出一次)
May 11 #Javascript
模拟用户操作Input元素,不会触发相应事件
May 11 #Javascript
网上抓的一个特效
May 11 #Javascript
用javascript实现分割提取页面所需内容
May 09 #Javascript
You might like
zend Framework中的Layout(模块化得布局)详解
2013/06/28 PHP
php版微信公众账号第三方管理工具开发简明教程
2016/09/23 PHP
PHP实现动态创建XML文档的方法
2018/03/30 PHP
PHP获取星期几的常用方法小结
2018/12/18 PHP
jquery UI 1.72 之datepicker
2009/12/29 Javascript
基于Jquery的淡入淡出的特效基础练习
2010/12/13 Javascript
iframe的onreadystatechange事件在firefox下的使用
2014/04/16 Javascript
12行javascript代码绘制一个八卦图
2015/04/02 Javascript
JavaScript中用于四舍五入的Math.round()方法讲解
2015/06/15 Javascript
js如何实现淡入淡出效果
2020/11/18 Javascript
jQuery Validate表单验证插件 添加class属性形式的校验
2016/01/18 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
jquery控制页面的展开和隐藏实现方法(推荐)
2016/10/15 Javascript
简单理解vue中el、template、replace元素
2016/10/27 Javascript
vue2滚动条加载更多数据实现代码
2017/01/10 Javascript
javascript 删除数组元素和清空数组的简单方法
2017/02/24 Javascript
通过javascript实现扫雷游戏代码实例
2020/02/09 Javascript
谈一谈vue请求数据放在created好还是mounted里好
2020/07/27 Javascript
AJAX XMLHttpRequest对象创建使用详解
2020/08/20 Javascript
[16:43]Heroes19_剃刀(完美)
2014/10/31 DOTA
python通过ftplib登录到ftp服务器的方法
2015/05/08 Python
pymongo为mongodb数据库添加索引的方法
2015/05/11 Python
Python 点击指定位置验证码破解的实现代码
2019/09/11 Python
python 如何去除字符串头尾的多余符号
2019/11/19 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
Ted Baker英国官网:男士和女士服装及配件
2017/03/13 全球购物
汇集了世界上最好的天然和有机美容产品:LoveLula
2018/02/05 全球购物
西班牙电子产品购物网站:Electronicamente
2018/07/26 全球购物
研发工程师的岗位职责
2013/11/18 职场文书
煤矿机修工岗位职责
2014/02/07 职场文书
镇党政领导班子民主生活会思想汇报
2014/10/11 职场文书
群众路线四风对照检查材料
2014/11/04 职场文书
叶问观后感
2015/06/15 职场文书
2015年食品安全宣传周活动总结
2015/07/09 职场文书
《雪地里的小画家》教学反思
2016/02/16 职场文书
高中英语教学反思范文
2016/03/02 职场文书