JavaScript Element.value vs Element.getAttribute ("Wert") [duplizieren]

8

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?

%Vor%

Die JavaScript-Datei:

%Vor%     
Mehran 05.07.2013, 17:49
quelle

2 Antworten

9

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.

jsFiddle DEMO

    
Naveen Kumar Alonekar 05.07.2013, 17:52
quelle
2

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.

    
Denys Séguret 05.07.2013 17:51
quelle

Tags und Links