:input
является расширением jQuery, а input
является селектором CSS.
textarea
, button
, И select
элементы будут согласованы по первой, но не последней.
Последний быстрее, поэтому используйте его для своего конкретного radio
примера. Используйте, :input
если вам нужны «все элементы формы», даже если они не являются строго <input>
тегами. Даже в этом случае рекомендуется сначала использовать стандартный селектор CSS, а затем использовать его .filter(':input')
для этого набора.
Поскольку: input является расширением jQuery, а не частью спецификации CSS, запросы, использующие: input, не могут воспользоваться преимуществом повышения производительности, обеспечиваемого собственным методом DOM querySelectorAll (). Чтобы добиться максимальной производительности при использовании: input для выбора элементов, сначала выберите элементы с помощью селектора на чистом CSS, а затем используйте .filter (": input").
В источнике 1.7.2 фильтр: input проверяет регулярное выражение на соответствие nodeName:
input: function( elem ) {
return (/input|select|textarea|button/i).test( elem.nodeName );
},
:input
селектор, а другой - универсальныйElement
.