werfen Sie einen Blick auf die JsFiddle hier:Jquery (input/textarea) .val(): Wie fügt man Inhalte hinzu, ohne das DOM zu ändern?
Im Wesentlichen ist es beginnt mit zwei textarea
s: ein leer, eins mit Sachen nach innen, und ein input type=text
. Ich hatte den Eindruck, dass, um Sachen in eine input
zu setzen, Sie es value
ändern, und um Sachen in eine textarea
zu setzen fügen Sie den Text als Kind zum Knoten hinzu.
Ich führe eine $(...).val(...)
, um ihren Inhalt zu ändern. Und ihre Inhalte tun ändern.
Allerdings sieht das DOM genau gleich aus! Ich drucke die 3 Elemente mit console.log()
; sie scheinen unverändert zu sein. Ich sehe sie mit dem inspect-Element von chrome an: sie scheinen unverändert zu sein.
Ich habe mir jQuery's val() method change doesn't seem to change the DOM angesehen, aber diese Frage kommt zu dem Schluss, dass es etwas Lustiges mit Firebug ist, das das HTML, das es anzeigt, nicht auffrischt. In diesem Fall bin ich mir ziemlich sicher, inspect-Element zeigt die aktuellen html, die auf der Seite vorhanden ist: Ich habe gesehen, die Attribut ändern sich wütend, wenn Dinge zum Beispiel Scrollen. Ich überprüfe es auch mit der Konsole, die mir dasselbe sagt: nichts hat sich geändert.
Meine Augen, aber, sagen Sie mir etwas hat geändert, wie ich sehe "10, omg, muh" statt "leer, Hallo Welt, 2000". Was ist los?
EDIT: Ich habe die falsche jsFiddle gepostet. Dies sollte jetzt der richtige sein
Firebug zeigt nicht immer (in seiner HTML-Registerkarte) die aktuellste Version des DOM an. Um den angezeigten HTML-Code in Firebug zu "erneuern", können Sie einen übergeordneten Knoten auswählen (Body ist immer eine gute Wahl), klicken Sie auf "Bearbeiten", ändern Sie alles (ich normalerweise ein Leerzeichen hinzufügen), und klicken Sie erneut auf "Bearbeiten". Dies scheint Firebug zu zwingen, die angezeigte Version des DOM zu aktualisieren. – devstruck
Dies verwendet jedoch nicht Firebug. Und ich mache eine 'console.log', die ausdrücken sollte, was der Knoten zur Zeit ** ist **, oder? –
Ah, mein Fehler. Kolink scheint Ihre wahre Frage gut abgedeckt zu haben. – devstruck