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 相关文章推荐
Js中sort()方法的用法
Nov 04 Javascript
文本框中,回车键触发事件的js代码[多浏览器兼容]
Jun 07 Javascript
Date对象格式化函数代码
Jul 17 Javascript
善用事件代理,警惕闭包的性能陷阱。
Jan 20 Javascript
javascript写的一个模拟阅读小说的程序
Apr 04 Javascript
JavaScript计时器示例分析
Feb 05 Javascript
jquery实现横向图片轮播特效代码分享
Nov 19 Javascript
Jquery检验手机号是否符合规则并根据手机号检测结果将提交按钮设为不同状态
Nov 26 Javascript
vue进行图片的预加载watch用法实例讲解
Feb 07 Javascript
使用ECharts实现状态区间图
Oct 25 Javascript
JS实现简单的表格增删
Jan 16 Javascript
vue+canvas实现拼图小游戏
Sep 18 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
在同一窗体中使用PHP来处理多个提交任务
2006/10/09 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
php网页版聊天软件实现代码
2016/08/12 PHP
PHP使用SWOOLE扩展实现定时同步 MySQL 数据
2017/04/09 PHP
php 静态属性和静态方法区别详解
2017/04/09 PHP
用javascript实现的图片马赛克后显示并切换加文字功能
2007/04/21 Javascript
JQuery 小练习(实例代码)
2009/08/07 Javascript
ExtJS GridPanel 根据条件改变字体颜色
2010/03/08 Javascript
javascript+mapbar实现地图定位
2010/04/09 Javascript
jQuery拖动div、移动div、弹出层实现原理及示例
2014/04/08 Javascript
JavaScript实现自动弹出窗口并自动关闭窗口的方法
2015/08/06 Javascript
jQuery操作json常用方法示例
2017/01/04 Javascript
使用JavaScript实现链表的数据结构的代码
2017/08/02 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
2017/08/03 Javascript
vue父组件通过props如何向子组件传递方法详解
2017/08/16 Javascript
vue-cli 引入、配置axios的方法
2018/05/08 Javascript
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
浅谈python多线程和队列管理shell程序
2015/08/04 Python
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
Python 正则表达式的高级用法
2016/12/04 Python
python实现报表自动化详解
2017/11/16 Python
Python使用try except处理程序异常的三种常用方法分析
2018/09/05 Python
Django objects的查询结果转化为json的三种方式的方法
2018/11/07 Python
windows中安装Python3.8.0的实现方法
2019/11/19 Python
python cv2读取rtsp实时码流按时生成连续视频文件方式
2019/12/25 Python
Python基于Tensor FLow的图像处理操作详解
2020/01/15 Python
Mixbook加拿大:照片书,照片卡,剪贴簿,年历和日历
2017/02/21 全球购物
中医专业应届生求职信
2013/11/17 职场文书
医学实习生自我鉴定
2013/12/12 职场文书
爱我中华演讲稿
2014/05/20 职场文书
供应商食品安全承诺书
2015/04/29 职场文书
起诉书格式范文
2015/05/20 职场文书
运动会广播稿50字
2015/08/19 职场文书
营销策划分析:怎么策划才能更好销量产品?
2019/09/04 职场文书
zabbix监控mysql的实例方法
2021/06/02 MySQL
关于MySQL中explain工具的使用
2023/05/08 MySQL