1. 程式人生 > >IE瀏覽器報錯 ‘Rowspan’ 為空或不是對象

IE瀏覽器報錯 ‘Rowspan’ 為空或不是對象

相關 aaa ttr length 沒有 pos sdn log 瀏覽器中

摘自 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’ 為空或不是對象