Кажется, переменная элемента jQuery недоступна? - PullRequest
1 голос
/ 18 июня 2010

Итак, я получаю набор элементов формы, из которых я хочу извлечь значения, используя

var inputs = $("input.row_2");
inputs[0].val()

Когда я запускаю это, мне говорят, что val не является допустимым методом.

Что я делаю не так?

Должно быть легко ..
Спасибо!

Ответы [ 3 ]

1 голос
/ 18 июня 2010

inputs[0] возвращает вам элемент DOM, поэтому inputs[0].value будет иметь то, что вы хотите.

Вы также можете использовать inputs.eq(0).val(), который никогда не будет жаловаться, что inputs[0] не определен, если нет совпадений.

.eq() возвращает объект jQuery (не DOM), в отличие от .get(), который также вы получите от использования [0]

0 голосов
/ 18 июня 2010
$('input.row_2').first().val();
0 голосов
/ 18 июня 2010

Объект jQUery ведет себя как массив элементов DOM.
Следовательно, inputs[0] возвращает необработанный элемент DOM, а не оболочку jQuery.
Поскольку у необработанных элементов DOM нет val() метода, выВы получаете сообщение об ошибке.

Чтобы вызвать методы jQuery для определенного элемента, вы должны вызвать метод eq() , например:

inputs.eq(0).val();

В вашемВ этом случае вы также можете просто получить свойство value из необработанного элемента DOM, например:

inputs[0].value

Обратите внимание, что это не будет вести себя как jQuery val() для <select> элементов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...