innerText引发的错误

因为firefox对innerText的不支持,所以以下代码在firefox里运行有错误。
//重新加载饼图
if ($("#hidden_strTitle").val() != "") {
var gridView = document.getElementById("GridViewlb");
var sum1 = gridView.rows[rowIndex + ].cells[].innerText;
var sum2 = gridView.rows[rowIndex + ].cells[].innerText;
var sum3 = gridView.rows[rowIndex + ].cells[].innerText;
var sum4 = gridView.rows[rowIndex + ].cells[].innerText;
var sum5 = gridView.rows[rowIndex + ].cells[].innerText;
var sum6 = gridView.rows[rowIndex + ].cells[].innerText;
createPieChart(sum1, sum2, sum3, sum4, sum5, sum6);
}
为了让上段代码在firefox里运行也正确,需要对innerText作一定的处理,textContent在一程度上可以代替innerText,但contentText有个缺点:文本中间的空白符会被无情的抹去,所以将文本间的空白符保留下来。为innerText适应firexfox,只需在页面中加入如下代码:
<script type="text/javascript">
function isIE(){//ie?
if (window.navigator.userAgent.toLowerCase().indexOf("msie") >= ) {
return true;
}
else {
return false;
}
} if(!isIE()){ //firefox innerText define
HTMLElement.prototype.__defineGetter__("innerText",
function() {
var anyString = "";
var childS = this.childNodes;
for (var i = ; i < childS.length; i++) {
if (childS[i].nodeType == ) {
anyString += childS[i].tagName == "BR" ? '\n' : childS[i].innerText;
}
else if (childS[i].nodeType == ) {
anyString += childS[i].nodeValue;
}
}
return anyString;
}
);
HTMLElement.prototype.__defineSetter__("innerText",
function(sText){
this.textContent=sText;
}
);
}
</script>
结果,程序能正确运行了。

这里有篇文章关于firefox与IE对javascript的异同。
innerText引发的错误的更多相关文章
- 【C/C++】Linux下system()函数引发的错误
http://my.oschina.net/renhc/blog/54582 [C/C++]Linux下system()函数引发的错误 恋恋美食 恋恋美食 发布时间: 2012/04/21 11:3 ...
- 安装APK时引发INSTALL_PARSE_FAILED_MANIFEST_MALFORMED错误的几种可能(申明:来源于网络)
安装APK时引发INSTALL_PARSE_FAILED_MANIFEST_MALFORMED错误的几种可能(申明:来源于网络) 地址:https://my.oschina.net/freestyle ...
- python代码位置引发的错误
觉得python对代码位置的要求简直是变态,缩进引发的错误我以前在博客里讲过了,如果不懂可以看看我以前的博客,今天又遇到了一个代码位置所引发的错误,现在给大家分享一下: 我想要打印出来一个5*5的实心 ...
- kettle_Spoon 修改共享DB连接带汉字引发的错误
win10下: kettle_Spoon 修改共享DB连接带汉字引发的错误: Unexpected problem reading shared objects from XML file : nul ...
- c# 调用 matlab 引发初始化错误 异常
1. 除了matlab 编译的DLL 意外还需要引用 MWArray.dll 这个dill 在安装了 MCRInstaller.exe(matlab运行环境之后就会有了): 2. 最重要的一点.ne ...
- <jsp:include page="${pageContext.request.contextPath/index.jsp" ></jsp:include> 引发的错误
路径引发的错误 如下使用项目路径对jsp页面进行获取,会报javax.servlet.ServletException: File "/web/dbwx/web/public/page_to ...
- [原创]SSAS-引用维度与多数据源、多数据源视图引发分区错误
背景: 最近有个项目,有32家分公司,集团总部需要取这个32家分公司数据做分析,由于每个分公司的数据都比较庞大,所以最终方案是每个分公司一个DW,在cube搭建过程中将每个公司数据作为一个 ...
- Python:读取 .doc、.docx 两种 Word 文件简述及“Word 未能引发事件”错误
概述 Python 中可以读取 word 文件的库有 python-docx 和 pywin32. 下表比较了各自的优缺点. 优点 缺点 python-docx 跨平台 只能处理 .docx 格式 ...
- Kubernetes因限制内存配置引发的错误
今天对一个pod进行内存资源调整后, 一直卡在ContainerCreating的状态, 执行describe命令查看该 Pod 详细信息后发现如下 . [root@master-01 ~]# kub ...
随机推荐
- jquery Mobile弹出窗
先创建一个窗体 <div data-role="popup" id="popupView" class="ui-content" da ...
- JDBCl链接中Statement
作用:创建的Statement对象执行SQL语句 (1)对象有Connection对象调用createStatement()方法创建 (2)有Statement对象调用executeUpdate()方 ...
- C#—打开文件
一.打开图片 ps:必须先在pictureBox中导入一张图片 private void button4_Click(object sender, EventArgs e)//选择.更换图片 { if ...
- windows核心编程---第四章 进程
上一章介绍了内核对象,这一节开始就要不断接触各种内核对象了.首先要给大家介绍的是进程内核对象.进程大家都不陌生,它是资源和分配的基本单位,而进程内核对象就是与进程相关联的一个数据结构.操作系统内核通过 ...
- 模版页面通过get传参数http://.../good_id/2;控制中可以直接使用echo $good_id;//2
- UE4 - C++ 射线捕捉
#include "Runtime/Engine/Classes/Kismet/KismetMathLibrary.h" //省略大部分代码 void AMyFPS_Charact ...
- 使用Template控制Editor显示方式
@Html.EditorFor可以由Template决定显示 虽然都是EditorFor,页面上显示却不同,ReleaseDate是一个Jquery DatePicker: 怎么实现的呢?就是Temp ...
- JavaScript取子串方法slice,substr,substring对比表
在程序语言中,字符串可以说是最常用的一种类型,而在程序中对字符串的操作也是十分频繁.当程序语言自带多种字符串操作的方法时,用该语言编程程序时就有很多的便利性,提高开发的效率.但是当方法过多,甚至目的相 ...
- RBL开发笔记二
17:13:55 2014-08-25 有以下几个点: 第一 :怎么在预处理阶段能够做到识别某个宏是否给定义了 这里就定义了一个SystemConfig.h 专门做这个事情 当然是需要make ...
- LintCode Binary Tree Maximum Path Sum
Given a binary tree, find the maximum path sum. The path may start and end at any node in the tree. ...