2011-01-17 3 views

ответ

5

Get the first DOMElement, который соответствует этому запросу (аналогично getElementById('element').value = v). Действительно плохой стиль jQuery.

$("#element").val(v); мог бы использоваться, чтобы сделать его более jQuery-ish и независимым от типа ввода.

+2

это не очень плохой стиль. Например, вам нужно проверить флажок 'checkbox', вы должны вызывать' $ jQueryRef [0] .checked', а не '$ jQueryRef.is (': checked')' – jAndy

+0

@jAndy правильно, это неплохо стиль вообще. Фактически, '$ (" # element "). Get (0) .value' или' $ ("# element") [0] .value' является более эффективным, если вы знаете, что делаете. Это связано с тем, что jQuery запускает несколько проверок, чтобы обеспечить совместимость с несколькими браузерами для определенных типов элементов, что избыточно для таких вещей, как '', потому что все браузеры ведут себя одинаково для этих элементов. –

3

Это совершенно справедливо для использования собственных свойств, доступных в элементах DOM, вместо методов jQuery.

С помощью get()(docs) вы извлекаете элемент DOM из объекта jQuery, а затем используете его собственное свойство value для установки нового значения.

Эквивалентный, что я предпочел бы использовать бы:

$("#element")[0].value = v; 

... что бы выполнить ту же самую вещь, но делает это непосредственно через индекс элемента DOM в.

Смежные вопросы