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+Dhtml:WEB程序员简易开发工具包(预先体验版)
Nov 07 Javascript
Javascript与vbscript数据共享
Jan 09 Javascript
javascript 出生日期和身份证判断大全
Nov 13 Javascript
jQuery 开天辟地入门篇一
Dec 09 Javascript
jQuery DOM操作小结与实例
Jan 07 Javascript
jQuery each()小议
Mar 18 Javascript
通过JavaScript使Div居中并随网页大小改变而改变
Jun 24 Javascript
动态的绑定事件addEventListener方法的使用
Jan 24 Javascript
js鼠标点击按钮切换图片-图片自动切换-点击左右按钮切换特效代码
Sep 02 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
Sep 02 Javascript
vue结合Echarts实现点击高亮效果的示例
Mar 17 Javascript
JS实现简单的星期格式转换功能示例
Jul 23 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 setcookie指定domain参数后,在IE下设置cookie失效的解决方法
2011/09/09 PHP
php数组分页实现方法
2016/04/30 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
2016/07/20 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
JS加ASP二级域名转向的代码
2007/05/17 Javascript
JS常见问题整理(持续更新)
2013/08/06 Javascript
jQuery实现的导航条切换可显示隐藏
2014/10/22 Javascript
javascript中return,return true,return false三者的用法及区别
2015/11/17 Javascript
基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
2015/11/24 Javascript
Bootstrap Metronic完全响应式管理模板学习笔记
2016/07/08 Javascript
JS中事件冒泡和事件捕获介绍
2016/12/13 Javascript
bootstrap中添加额外的图标实例代码
2017/02/15 Javascript
js仿拉勾网首页穿墙广告效果
2017/03/08 Javascript
详解win7 cmd执行vue不是内部命令的解决方法
2017/07/27 Javascript
浅谈react+es6+webpack的基础配置
2017/08/09 Javascript
微信小程序实现下载进度条的方法
2017/12/08 Javascript
VueJs组件之父子通讯的方式
2018/05/06 Javascript
JavaScript中AOP的实现与应用
2019/05/06 Javascript
JS实现躲避粒子小游戏
2020/06/18 Javascript
Django1.7+python 2.78+pycharm配置mysql数据库
2016/10/09 Python
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
2016/12/15 Python
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
PyTorch CNN实战之MNIST手写数字识别示例
2018/05/29 Python
通过python实现随机交换礼物程序详解
2019/07/10 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
解决pyqt5异常退出无提示信息的问题
2020/04/08 Python
python中rc1什么意思
2020/06/19 Python
CSS3 mask 遮罩的具体使用方法
2017/11/03 HTML / CSS
HTML5中的Article和Section元素认识及使用
2013/03/22 HTML / CSS
护士自荐信怎么写
2013/10/18 职场文书
鼓励运动员的广播稿
2014/02/08 职场文书
高校教师岗位职责
2014/03/18 职场文书
初中英语演讲稿
2014/04/29 职场文书
考勤制度通知
2015/04/25 职场文书
《花钟》教学反思
2016/02/17 职场文书
Hive HQL支持2种查询语句风格
2022/06/25 数据库