我从var anzahl_der_SVGs中的html文档中提取了所有svg元素。可以正常工作,它应会返回3。现在,我想制作一个多维数组,在其中存储服务器的SVG元素信息。结构是
[0] [0]-> svg的html代码
[0] [1]->父容器的ID
javascript代码是:
function getSVG(){
var anzahl_der_SVGs = $('svg').size();
alert(anzahl_der_SVGs);
var svgArray = new Array(anzahl_der_SVGs);
svgArray[0] = new Array(2);
$('svg').each(function( index ) {
id = $(this).parent().parent().parent().parent().attr("id");
var speichern = "widgetID" +id;
svgArray[index][0] = $(this).html();
svgArray[index][1] = speichern;
alert(svgArray[index][0]);
alert(svgArray[index][1]);
$(this).attr("id", speichern);
});
}
第一次迭代的警报工作正常,它向我显示了svg html和小部件ID。在下一次迭代中它将停止,并为我提供控制台输出“ TypeError:svgArray [index]未定义” thx,以获取任何帮助:)来自德国的问候
最佳答案
JavaScript没有多维数组。您要做的是为svgArray
的第一个索引定义一个嵌套数组。您需要为每个成员定义一个。
您可以在.each()
循环中执行此操作。
$('svg').each(function( index ) {
if (!svgArray[index]) {
svgArray[index] = new Array(2)
}