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结合CSS操作打印样式的方法
Dec 24 Javascript
JavaScript+canvas实现七色板效果实例
Feb 18 Javascript
Bootstrap前端开发案例二
Jun 17 Javascript
jQuery表单事件实例代码分享
Aug 18 Javascript
js当前页面登录注册框,固定div,底层阴影的实例代码
Oct 04 Javascript
js 颜色选择插件
Jan 23 Javascript
vue-router单页面路由
Jun 17 Javascript
详细AngularJs4的图片剪裁组件的实例
Jul 12 Javascript
Vue+Typescript中在Vue上挂载axios使用时报错问题
Aug 07 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
Apr 26 Javascript
基于JS实现视频上传显示进度条
May 12 Javascript
Js数组扁平化实现方法代码总汇
Nov 11 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实现Socket服务器的代码
2008/04/03 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
2014/10/21 PHP
discuz图片顺序混乱解决方案
2015/07/29 PHP
JSON两种结构之对象和数组的理解
2016/07/19 PHP
Laravel中日期时间处理包Carbon的简单使用
2017/09/21 PHP
js查找父节点的简单方法
2008/06/28 Javascript
jQuery 使用手册(一)
2009/09/23 Javascript
将字符串转换成gb2312或者utf-8编码的参数(js版)
2013/04/10 Javascript
js数组的基本操作(很全自己整理的)
2014/10/16 Javascript
node.js中的console.dir方法使用说明
2014/12/10 Javascript
理解JavaScript的变量的入门教程
2015/07/07 Javascript
js判断手机号运营商的方法
2015/10/23 Javascript
js实现新年倒计时效果
2015/12/10 Javascript
Bootstrap表格使用方法详解
2017/02/17 Javascript
浅谈pc端rem字体设置的问题
2017/08/03 Javascript
使用原生js封装的ajax实例(兼容jsonp)
2017/10/12 Javascript
JavaScript简单实现关键字文本搜索高亮显示功能示例
2018/07/25 Javascript
JavaScript实现左右滚动电影画布
2020/02/06 Javascript
javascript实现前端分页效果
2020/06/24 Javascript
[01:53]DOTA2超级联赛专访Zhou 五年职业青春成长
2013/05/29 DOTA
在Windows系统上搭建Nginx+Python+MySQL环境的教程
2015/12/25 Python
使用Python编写Prometheus监控的方法
2018/10/15 Python
python实现从wind导入数据
2019/12/03 Python
Python如何优雅删除字符列表空字符及None元素
2020/06/25 Python
Python持续监听文件变化代码实例
2020/07/22 Python
python+pygame实现坦克大战小游戏的示例代码(可以自定义子弹速度)
2020/08/11 Python
Manjaro、pip、conda更换国内源的方法
2020/11/17 Python
h5使用canvas画布实现手势解锁
2019/01/04 HTML / CSS
夏尔巴人登珠峰品牌:Sherpa Adventure Gear
2018/02/08 全球购物
数据库什么时候应该被重组
2012/11/02 面试题
《风娃娃》教学反思
2014/04/19 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
2015年酒店前台工作总结
2015/04/20 职场文书
2016年校园植树节广播稿
2015/12/17 职场文书
未来,这5大方向都很适合创业
2019/07/22 职场文书
CSS浮动引起的高度塌陷问题
2022/08/05 HTML / CSS