我从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)
    }

09-15 13:30