: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
селектор.