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 相关文章推荐
由浅到深了解JavaScript类
Sep 08 Javascript
JavaScript 滚轮事件使用说明
Mar 07 Javascript
Jquery+ajax请求data显示在GridView上(asp.net)
Aug 27 Javascript
formStorage 基于jquery的一个插件(存储表单中元素的状态到本地)
Jan 20 Javascript
js 设置缓存及获取设置的缓存
May 08 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
Jan 28 Javascript
JQuery鼠标移到小图显示大图效果的方法
Jun 10 Javascript
JavaScript定时器和优化的取消定时器方法
Jul 03 Javascript
各式各样的导航条效果css3结合jquery代码实现
Sep 17 Javascript
js return返回多个值,通过对象的属性访问方法
Feb 21 Javascript
Vue写一个简单的倒计时按钮功能
Apr 20 Javascript
解决vue页面渲染但dom没渲染的操作
Jul 27 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执行速率优化技巧小结
2008/03/15 PHP
PHP中的函数-- foreach()的用法详解
2013/06/24 PHP
PHP获取时间排除周六、周日的两个方法
2014/06/30 PHP
PHP实现随机发扑克牌
2020/04/22 PHP
JS高级拖动技术 setCapture,releaseCapture
2011/07/31 Javascript
jquery.cookie用法详细解析
2013/12/18 Javascript
NodeJs中的VM模块详解
2015/05/06 NodeJs
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
Jquery实现上下移动和排序代码
2016/10/17 Javascript
微信小程序 商城开发(ecshop )简单实例
2017/04/07 Javascript
AngularJS 最常用的八种功能(基础知识)
2017/06/26 Javascript
使用JavaScript实现alert的实例代码
2017/07/06 Javascript
Vue2.0学习系列之项目上线的方法步骤(图文)
2018/09/25 Javascript
微信小程序Echarts图表组件使用方法详解
2019/06/25 Javascript
[02:11]2014DOTA2 TI专访VG战队Fenrir:队伍气氛良好
2014/07/11 DOTA
使用tensorflow实现AlexNet
2017/11/20 Python
详解Python异常处理中的Finally else的功能
2017/12/29 Python
利用anaconda保证64位和32位的python共存
2021/03/09 Python
Python 等分切分数据及规则命名的实例代码
2019/08/16 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
2020/05/10 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
利用Python实现学生信息管理系统的完整实例
2020/12/30 Python
Ubuntu20下的Django安装的方法步骤
2021/01/24 Python
香港卓悦化妆品官网:BONJOUR
2017/09/21 全球购物
护士自荐信怎么写
2013/10/18 职场文书
医院辞职信范文
2014/01/17 职场文书
《散步》教学反思
2014/03/02 职场文书
专科应届毕业生求职信
2014/06/04 职场文书
放飞梦想演讲稿800字
2014/08/26 职场文书
法制教育演讲稿
2014/09/10 职场文书
婚礼女方父母答谢词
2015/01/04 职场文书
计生个人工作总结
2015/02/28 职场文书
综合测评个人总结
2015/03/03 职场文书
Vue.js中v-bind指令的用法介绍
2022/03/13 Vue.js
Spring Boot实现文件上传下载
2022/08/14 Java/Android