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 ...
随机推荐
- HttpURLConnection网络请求
//创建访问的方法 public String Check_json(){ //创建一个结果字符串 String result=""; //拼接字符串 StringBuffer s ...
- Android M新特性之Behavior Changes
1.Runtime Permissions On your apps that target the M Preview release or higher, make sure to check f ...
- Java中文档制作与继承
1:如何制作帮助文档(了解) (1)写一个类 (2)加入文档注释 (3)通过javadoc工具生成即可 javadoc -d 目录 -author -version ArrayTool.java 2: ...
- C# winform程序如何打包64位安装程序
故事背景: 原来在客户电脑上工作的很正常的程序,在客户将其操作系统从32位换为64位之后,出现了不能正常使用的问题. --------------------------- 解决办法: 1:将解决方案 ...
- 电脑无法登陆ftp
电脑无法登陆ftp,或者对于少数ftp能登陆,大多数不能登陆,用了一大堆ftp软件一样登陆不了.后来baidu了一下,发现是防火墙的问题.据说是Windows防火墙阻止了20/21端口的通信,说白了就 ...
- [Algorithm Basics] Sorting, LinkedList
Time complexity: Binary search O(log2 n): i=0. n elements: ------------------- i=1. n/2 ...
- PHP flush sleep 输出缓存控制详解
1 2 3 4 5 6 ob_start,flush,ob_flush for($i=0;$i<</SPAN>10;$i++) { echo $i.''; flush(); slee ...
- 【LeetCode OJ】Flatten Binary Tree to Linked List
Problem Link: http://oj.leetcode.com/problems/flatten-binary-tree-to-linked-list/ The problem is ask ...
- 来自HeroKu的HTTP API 设计指南(中文版)
原文转自:http://get.jobdeer.com/343.get 来自HeroKu的HTTP API 设计指南(中文版) 翻译 by @Easy 简介 本指南中文翻译者为 @Easy ,他是国内 ...
- [转]http://makefiletutorial.com/
Intro This makefile will always run. The default target is some_binary, because it is first. some_bi ...