IE浏览器报错 ‘Rowspan’ 为空或不是对象

Posted 办公室的仙人掌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IE浏览器报错 ‘Rowspan’ 为空或不是对象相关的知识,希望对你有一定的参考价值。

摘自   http://blog.csdn.net/zxygww/article/details/46635403

环境:

EasyUI 1.4.2.

现象:

在使用JQuery EasyUI 的datagrid控件时,使用动态指定columns的方式,相关代码如下:

$("#topApList").datagrid({columns:[[
{field:‘aaa‘,title: ‘aaa‘,align: ‘center‘,width: 130},  
{field:‘bbb‘,title: ‘bbb‘,align: ‘center‘,width: 100},
]]
});

 

在IE8浏览器中打开该页面时出现错误:‘Rowspan’ 为空或不是对象,‘Colspan’ 为空或不是对象。

在Firefox, Safari, Chrome浏览器中没有报错,页面正常显示。

分析代码:

jquery.easyui.mini.js代码,高亮部分为出现空指针异常的地方:

for (var j = 0; j < cols.length; j++) {
var col = cols[j];
var attr = "";
if (col.rowspan) {
attr += "rowspan=\"" + col.rowspan + "\" ";
}
if (col.colspan) {
attr += "colspan=\"" + col.colspan + "\" ";
}

 

原因:

在最后一个field后面,出现一个逗号,导致浏览器计算出来的cols.length为3(其实际值为2),当访问cols[2]时出现空指针异常。

解决方案:

将最后一个field后的逗号去掉即可。

效果:

IE中未出现上述错误。

以上是关于IE浏览器报错 ‘Rowspan’ 为空或不是对象的主要内容,如果未能解决你的问题,请参考以下文章

$.browser.msie' 为空或不是对象

为啥会出安全警告 错误: 'files.0' 为空或不是对象

如何解决 IE 问题“parentNode”为空或不是 Ext.js3.1.1 的对象?

js报错:为空或不是对象

JQGRID报错,提示 '$.jgrid.formatter.integer' 为空或不是对象

'$.browser.msie' 为空或不是对象