循环中的循环-Javascript

循环中的循环-Javascript,javascript,loops,Javascript,Loops,我对循环中的循环有问题 通过选择数字并单击生成框按钮,它将生成数字为1到49的框。 如果第一次单击,一切正常。 但如果您添加更多的框,它会再次将这49个数字添加到现有的框中。这就是问题所在。我只想生成数字从1到49的新框 代码如下: function kasterl() { $(".plunder").click(function() { var wert = $( "#wieviel option:selected").text(); My

我对循环中的循环有问题

通过选择数字并单击生成框按钮,它将生成数字为1到49的框。 如果第一次单击,一切正常。 但如果您添加更多的框,它会再次将这49个数字添加到现有的框中。这就是问题所在。我只想生成数字从1到49的新框

代码如下:

function kasterl() {
    $(".plunder").click(function() {
        var wert = $( "#wieviel option:selected").text();       
        MyInt = parseInt(wert);     
        createKaesten(MyInt);   
    });
}   

function createKaesten(zahl) {
    var gesamt = $(".kasten").length+1;
    var numberOf = $(".kasten").length; 

    for(var i=1; i<=zahl; i++) {
        $(".rahmen").append("<div class='kasten nr"+ gesamt +"'><ul></ul></div>");
    }           

    for(var n=1; n<=49; n++) {
        $(".kasten ul").append("<li class='nummer'>" + n + "</li>");
    }       
}

在这里您可以测试它:

请注意,在代码中您使用了函数$.append

追加就是这样做的——它将新内容追加到现有内容的末尾。每次单击“生成”时都将执行追加

编辑:我添加了一个示例来说明这一点。多次点击每个按钮以查看差异。

正如您所发现的,$.kasten ul.append。。。将附加到与.kasten ul选择器匹配的所有元素

您说您在循环中的循环有问题,但您当前的代码实际上没有嵌套循环。以下是实际嵌套循环的解决方案:

函数createKaestenzahl{ var gesamt=$.kasten.length+1; var numberOf=$.kasten.length; var newUL;
对于var i=1;i,你的循环不是在一个循环中。这就是你从可怕的缩进方案tnx@unfinal中得到的,因为它把我试图表达的观点搞砸了:PYes,我知道。但是我必须这样做。或者我怎么做呢?你必须在jquery中附加,不是吗?document.write不起作用。你可以在没有任何限制的情况下覆盖div的内容简单地添加到div的末尾。有关更多信息,请参阅。太棒了!这似乎真的很有效。谢谢!对不起,我以前在循环中有一个循环的变体。但后来我尝试了,尝试了,尝试了。所以我在这里发布的这个版本不是循环中的循环。