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 select标签操作代码段
May 16 Javascript
jquery获取input的value问题说明
Aug 19 Javascript
基于jquery的放大镜效果
May 30 Javascript
javascript 获取图片尺寸及放大图片
Sep 04 Javascript
Spring MVC中Ajax实现二级联动的简单实例
Jul 06 Javascript
js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码
Sep 09 Javascript
实例浅析js的this
Dec 11 Javascript
用jQuery.ajaxSetup实现对请求和响应数据的过滤
Dec 20 Javascript
vue-cli webpack2项目打包优化分享
Feb 07 Javascript
Vue使用v-viewer实现图片预览
Oct 21 Javascript
js调用网络摄像头的方法
Dec 05 Javascript
pnpm对npm及yarn降维打击详解
Aug 05 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 中文处理技巧
2010/04/25 PHP
simplehtmldom Doc api帮助文档
2012/03/26 PHP
PHP中的日期加减方法示例
2014/08/21 PHP
php判断数组中是否存在指定键(key)的方法
2015/03/17 PHP
PHP 接入微信扫码支付总结(总结篇)
2016/11/03 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
2017/07/20 PHP
js对文章内容进行分页示例代码
2014/03/05 Javascript
jQuery Masonry瀑布流插件使用详解
2014/11/17 Javascript
js判断一个字符串是否包含一个子串的方法
2015/01/26 Javascript
javascript实现获取字符串hash值
2015/05/10 Javascript
Angularjs整合微信UI(weui)
2016/03/15 Javascript
深入理解逻辑表达式的用法 与或非的用法
2016/06/06 Javascript
BootStrap 智能表单实战系列(五) 表单依赖插件处理
2016/06/13 Javascript
jquery插件bootstrapValidator数据验证详解
2016/11/09 Javascript
JS基于正则表达式的替换操作(replace)用法示例
2017/04/28 Javascript
详解React 16 中的异常处理
2017/07/28 Javascript
Bootstrap-table自定义可编辑每页显示记录数
2018/09/07 Javascript
jquery无缝图片轮播组件封装
2020/11/25 jQuery
10种JavaScript最常见的错误(小结)
2019/06/21 Javascript
这15个Vue指令,让你的项目开发爽到爆
2019/10/11 Javascript
茶余饭后聊聊Vue3.0响应式数据那些事儿
2019/10/30 Javascript
JavaScript实现电灯开关小案例
2020/03/30 Javascript
python中的hashlib和base64加密模块使用实例
2014/09/02 Python
python通过BF算法实现关键词匹配的方法
2015/03/13 Python
Python基于回溯法子集树模板实现图的遍历功能示例
2017/09/05 Python
python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
2018/02/26 Python
numpy矩阵数值太多不能全部显示的解决
2020/05/14 Python
Django bulk_create()、update()与数据库事务的效率对比分析
2020/05/15 Python
Marc O’Polo俄罗斯官方在线商店:德国高端时尚品牌
2019/12/26 全球购物
物业管理求职自荐信
2013/09/25 职场文书
宿舍使用违章电器检讨书
2014/01/12 职场文书
产品促销活动策划书
2014/01/15 职场文书
运动会广播稿60字
2014/01/15 职场文书
群众路线领导对照材料
2014/08/23 职场文书
Python中非常使用的6种基本变量的操作与技巧
2022/03/22 Python