2016-07-04 15 views
4

I Formular zurückgesetzt Methode verwenden, wie unten in meinen Web-Seiten

$("#form")[0].reset(); 

Aber wenn ich es wie die Verwendung unter

$("#form").reset(); 

Es gibt mir Fehler.

Warum die erste Methode funktioniert und die spätere nicht?

Meine Seite funktioniert perfekt. Aber ich hätte gerne den Grund dahinter. Die Lösung ist überall. Aber keiner von ihnen beschreibt den Grund dafür.

Hinweis: Ich überprüfte here und es zeigt so viele Antworten. Nichts definiert den Grund klar.

+0

Mögliche Duplikate von [Wie Zurücksetzen (löschen) Formular durch JavaScript?] (Http://stackoverflow.com/questions/3786694/how-to-reset- clear-form-through-javascript) –

+2

Da 'reset' nicht Teil der jQuery-API ist, sondern die native API, greifen Sie mit' [0] 'auf das native Element zu. – GillesC

+0

$ ("# form") [0] ist die Indexposition des DOM-Objekts Ihres Elements in Form –

Antwort

1

Ich denke, der einfache Grund ist es für gewaltsam Arbeits eine javascript Funktion Jquery Verwendung ist

.reset() ist keine Jquery-native Funktion. Es ist eine Javascript Funktion und wir verwenden es mit Nachdruck innerhalb Jquery

4

Die jQuery-Selektormethode kann mehr als ein Element zurückgeben, daher besteht das Verhalten darin, ein Array der Konsistenz halber zurückzugeben. Dieses Array ist ein Wrapper für andere jQuery-Methoden, die mit dieser Auswahl arbeiten können, aber die Bearbeitung der klassischen DOM-Funktionen erfordert die Arbeit an einem bestimmten Element.

Sie können das tun, wie Sie haben, mit [0] die erste zu ziehen, oder Sie können über sie iterieren:

$('#form').each(function() { this.reset() });