jQuery Ein Objekt mehrmals anhängen

7

Ich bin mir nicht sicher, was genau hier passiert, ich denke die Tatsache, dass die Variable ein jquery Objekt ist.

Das hängt nur einmal, meine Frage ist warum?

%Vor%

Obwohl das so funktioniert, wie ich annehmen würde

%Vor%

Danke für Ihre Hilfe!

    
VIDesignz 19.09.2014, 17:38
quelle

3 Antworten

8

Wenn Sie $('<input/>') erstellen, erstellt jQuery ein input DOM-Element für Sie.

Wenn Sie .append() ein DOM-Element sind, löst es das Element von seiner vorherigen Position. (Siehe Geige)

Damit wird Ihr zweiter .append() -Aufruf es von dem Ort entfernen, an dem es zuerst angehängt wurde, und es an der neuen Position platzieren.

Wenn Sie eine Zeichenfolge anhängen, wird das DOM-Element beim Anhängen erstellt.

    
Stryner 19.09.2014, 17:42
quelle
13

Im ersten Fall analysiert $ Ihren HTML-Code und erstellt ein neues jQuery-Objekt, das über ein HTMLInputElement umbrochen wird.

Grundsätzlich ist es so:

%Vor%

Im zweiten Fall wird der HTML-Code jedes Mal analysiert und ein anderes jQuery-Objekt für jede Instanz generiert.

Hier ist, wie das erste Beispiel behoben werden konnte:

%Vor%     
plalx 19.09.2014 17:44
quelle
1

Das liegt daran, dass es sich im ersten Fall auf das gleiche Element object bezieht (hängt das gleiche Element an, so dass es an eine neue Stelle angehängt wird), und im zweiten Fall hängen Sie html als String an mehrere Elemente (jedes Mal neues Element).

    
Ehsan Sajjad 19.09.2014 17:43
quelle

Tags und Links