Ich habe kürzlich angefangen, JavaScript zu lernen, aber da ist etwas, mit dem ich verwirrt bin:
Was ist der Unterschied zwischen Element.value
und Element.getAttribute("value")
?
eigentlich ist mein Problem, wenn ich versuche, den Wert eines input
-Elements mit dem Typ text
auf einen anderen zu kopieren, wenn ich die erste Methode benutze ( Element.value
) Es funktioniert aber wenn ich mit gehe die zweite Methode Kopiert den ersten Wert, der dem Element übergeben wurde und wird nie aktualisiert, wenn ich den Text in textbox
ändere, dieses Verhalten erscheint mir seltsam! Kannst du bitte erklären, was hier vor sich geht?
Die JavaScript-Datei:
%Vor% Der Unterschied ist, dass element.value
Echtzeit ist und wenn ein Benutzer sich ändert, sagen wir, eine Textbox-Eingabe, wird dies reflektiert und zeigt Ihnen den neuen Wert.
Während getAttribute('value')
immer noch den ursprünglichen value="whateverWasHere"
-Wert anzeigt.
Der Wert value
ist der Wert, den Sie beim Schreiben von HTML festgelegt haben.
Der Wert dieses Attributs wird beim Lesen dazu verwendet, die value
-Eigenschaft des Elements zu füllen .
Diese Eigenschaft erhält man später, wenn Sie Element.value
verwenden und dies vom Benutzer oder den meisten JavaScript-Funktionen geändert wurde. Das Attribut wird nicht geändert, wenn der Benutzer den Wert über die Schnittstelle ändert.
Kurz gesagt, Sie möchten fast immer Element.value
und fast nie Element.getAttribute("value")
verwenden.
Tags und Links javascript attributes dom html5