Ich verwende jQuery und frage mich, ob ich val () oder text () (oder eine andere Methode) verwenden soll, um den Inhalt eines Textbereichs zu lesen und zu aktualisieren.
Ich habe beide ausprobiert und hatte Probleme mit beiden. Wenn ich text () zum Aktualisieren des Textbereichs verwende, funktionieren Zeilenumbrüche (\ n) nicht. Wenn ich val () verwende, um den Textbereichinhalt abzurufen, wird der Text abgeschnitten, wenn er zu lang ist.
Antworten:
Der beste Weg , um set / get der Wert einer Textbox die
.val()
,.value
Methode..text()
Verwendet intern die Methode.textContent
(oder.innerText
für IE), um den Inhalt von a abzurufen<textarea>
. Die folgenden Testfälle veranschaulichen, wietext()
und in.val()
Beziehung zueinander stehen:Die
value
Eigenschaft , die von verwendet wird,.val()
zeigt immer den aktuell sichtbaren Wert an, währendtext()
der Rückgabewert falsch sein kann.quelle
text()
nicht mehr funktioniert , nachdem alles in manuell zu ändern (zB das Hinzufügen eines Zeichens).val()
arbeitet immer mittextarea
Elementen..text()
funktioniert manchmal und scheitert manchmal! Es ist nicht zuverlässig (getestet in Chrome 33)Das Beste ist, dass es auch
.val()
nahtlos mit anderen Formularelementen (wieinput
) funktioniert, während dies.text()
fehlschlägt.quelle