我试图创建一个多维数组,我可以在脚本中的任何地方访问它,但我总是得到一个“typeerror:undefined不是一个对象(评估“arr_l[indx_td][indx_tr]”)。
这是我的简化代码:
$(document).ready(function()
{
arr_l = new Array();
var indx_td;
var indx_tr;
arr_l[indx_td][indx_tr]=new Array();
var width1;
var width2;
$("table td").each(function()
{
indx_td= $(this).index();
indx_tr= $(this).parent().index();
var element = $(this)
.clone()
.css({'display': 'inline', 'width': 'auto', 'visibility' : 'hidden'})
.appendTo('body');
var rect1 = $(this)[0].getBoundingClientRect();
width1 = rect1.right - rect1.left;
var rect2 = element[0].getBoundingClientRect();
width2 = rect2.right - rect2.left;
element.remove();
if(! arr_l[indx_td][indx_tr]['width1'])
{
arr_l[indx_td][indx_tr]['width1']=0;
arr_l[indx_td][indx_tr]['width2']=0;
}
arr_l[indx_td][indx_tr]['width1']=width1;
arr_l[indx_td][indx_tr]['width2']=width2;
}
})
我只想让这个数组在脚本中的任何地方都可以工作和访问。显然,我并没有按应该的方式声明数组,但我不知道如何解决这个问题。
我没有创建JSfiddle,因为没有要显示的内容。
谢谢你的帮助。