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