2016-07-04 4 views
4

Я использую форму метод сброса, как показано ниже на моих веб-страницах

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

Но когда я использую его как ниже

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

Это дает мне ошибку.

Почему первый метод работает, а позже нет?

Моя страница работает отлично. Но я хотел бы, чтобы это было позади. Решение есть повсюду. Но никто из них не объясняет причину этого.

Примечание: Я проверил here, и он показывает так много ответов. Ничто не ясно определяет причину.

+0

Возможный дубликат [Как сбросить (очистить) форму через JavaScript?] (Http://stackoverflow.com/questions/3786694/how-to-reset- clear-form-through-javascript) –

+2

Поскольку 'reset' не является частью jQuery API, а встроенным API, и вы получаете доступ к собственному элементу с помощью' [0] '. – GillesC

+0

$ ("# form") [0] - позиция индекса вашего элемента в объекте DOM объекта –

ответ

1

Я думаю, что простой причине, что для принудительно работает в javascript функцию, используя Jquery

.reset() не является функцией JQuery. Это функция Javascript, и мы ее интенсивно используем внутри Jquery

4

Поскольку метод reset() является членом HTML-элемента формы:

https://developer.mozilla.org/en-US/docs/Web/API/HTMLFormElement/reset

И не метод, предлагаемый объект JQuery, который представляет собой набор из 0 или более одинаковых элементов для вашего выбора (#form)

4

Метод выбора jQuery может возвращать более одного элемента, поэтому поведение должно возвращать массив для согласованности. Этот массив является оболочкой для других методов jQuery, которые могут работать с этим выбором, но для управления классическими функциями DOM требуется работа над определенным элементом.

Вы можете сделать это, как вы есть, с [0], чтобы вытащить первый, или вы можете перебирать их:

$('#form').each(function() { this.reset() }); 
Смежные вопросы