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', 130},  
{field:'bbb',title: 'bbb',align: 'center', 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中未出现上述错误。

原文地址:https://www.cnblogs.com/a6948076/p/8251595.html