jQuery .append() in der for-Schleife

Habe ich versucht nach einer Antwort zu suchen hier, aber alle Fragen in Bezug auf mein Problem ein bisschen zu kompliziert für jemanden, der gerade angefangen JavaScript lernen wie ich.

Erstellen Sie ein raster von divs mit js/jquery basierend auf Benutzereingaben (z.B.: wenn der Benutzer wählt, Breite = 16, dann wird er eine 16x16-raster).

Nun, dachte ich, ich werde fügen Sie ein DOM-element mit var $smallDiv = $('<div class="smallDiv"></div>');

Und hier ist die Schleife fügt hinzu, dass die benötigte Anzahl von divs, basierend auf Benutzer-input:

function addDiv() {
$('#container').append($smallDiv);
}
for (i = 1; i <= divCounter * divCounter; i++){
addDiv();
}

Das problem ist, dass dies immer nur ein div. Die Schleife ausgeführt, die erforderliche Anzahl von Zeiten, ich habe dies über die Konsole.log(). So ist es ganz offensichtlich funktioniert, aber ich bekomme das Gefühl, dass jedes mal, wenn Sie es Schleifen, das neue div-Element überschreibt das Vorherige. Das war nicht meine Erwartung .append().

Ich habe es geschafft zu bekommen, um das problem, indem Sie die $smallDiv variable eine normale (entfernen $ aus dem Wert, so dass es nur text), aber ich würde gerne wissen, wie sind diese beiden Variablen sind die Unterschiede und warum arbeitet man im obigen Szenario, aber die anderen nicht.

Machen und es einfach auf mich, ich habe gerade angefangen zu lernen, JS/jQuery.

Hinzufügen Sie können komplett, HTML-und JS

InformationsquelleAutor Lessar277 | 2015-09-08

Schreibe einen Kommentar