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 相关文章推荐
IE中jscript/javascript的条件编译
Sep 07 Javascript
jQuery学习笔记[1] jQuery中的DOM操作
Dec 03 Javascript
jQuery + Flex 通过拖拽方式动态改变图片的代码
Aug 03 Javascript
js获取class的所有元素
Mar 28 Javascript
JQuery实现点击div以外的位置隐藏该div窗口
Sep 13 Javascript
浅谈javascript获取元素transform参数
Jul 24 Javascript
JavaScript String 对象常用方法详解
May 13 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
Jun 12 Javascript
jQuery 防止相同的事件快速重复触发方法
Feb 08 jQuery
Angular6使用forRoot() 注册单一实例服务问题
Aug 27 Javascript
vue elementui tree 任意级别拖拽功能代码
Aug 31 Javascript
vue的webcamjs集成方式
Nov 16 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
通过ODBC连接的SQL SERVER实例
2006/10/09 PHP
PHP实现动态柱状图改进版
2015/03/30 PHP
让FireFox支持innerText的实现代码
2009/12/01 Javascript
围观tangram js库
2010/12/28 Javascript
Knockoutjs的环境搭建教程
2012/11/26 Javascript
JavaScript 中的日期和时间及表示标准介绍
2013/08/21 Javascript
如何实现修改密码时密码框显示保存到cookie的密码
2013/12/10 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
使用JavaScript制作一个简单的计数器的方法
2015/07/07 Javascript
jquery实现简单实用的打分程序实例
2015/07/23 Javascript
jquery表单插件Autotab使用方法详解
2016/06/24 Javascript
基于JavaScript实现右键菜单和拖拽功能
2016/11/28 Javascript
快速掌握jQuery插件开发
2017/01/19 Javascript
Bootstrap导航条学习使用(二)
2017/02/08 Javascript
nodejs集成sqlite使用示例
2017/06/05 NodeJs
vue中使用cookies和crypto-js实现记住密码和加密的方法
2018/10/18 Javascript
利用vue3+ts实现管理后台(增删改查)
2020/10/30 Javascript
vue组件是如何解析及渲染的?
2021/01/13 Vue.js
Python使用Pandas库实现MySQL数据库的读写
2019/07/06 Python
Django 导出项目依赖库到 requirements.txt过程解析
2019/08/23 Python
Python实现数值积分方式
2019/11/20 Python
python实现拼图小游戏
2020/02/22 Python
Python random库使用方法及异常处理方案
2020/03/02 Python
Python3实现打印任意宽度的菱形代码
2020/04/12 Python
用Python实现职工信息管理系统
2020/12/30 Python
CSS3提交意见输入框样式代码
2014/10/30 HTML / CSS
详解HTML5中表单验证的8种方法介绍
2016/12/19 HTML / CSS
Lookfantastic挪威官网:英国知名美妆购物网站
2017/07/26 全球购物
电子技术专业中专生的自我评价
2013/12/17 职场文书
复核员上岗演讲稿
2014/01/05 职场文书
打造高效课堂实施方案
2014/03/22 职场文书
二年级学生评语大全
2014/04/23 职场文书
《明天,我们毕业》教学反思
2014/04/24 职场文书
2014年党员个人工作总结
2014/12/02 职场文书
Go语言切片前或中间插入项与内置copy()函数详解
2021/04/27 Golang
mysql幻读详解实例以及解决办法
2022/06/16 MySQL