:input
est une extension jQuery alors que input
est un sélecteur CSS.
textarea
, button
, et select
éléments pourrait être compensée par le premier, mais pas le dernier.
Ce dernier est plus rapide, afin de l'utiliser pour votre radio
exemple. Utiliser :input
quand vous voulez "tous les éléments de formulaire", même si elles ne sont pas strictement <input>
tags. Même dans ce cas, la recommandation est d'utiliser un sélecteur CSS, utilisez .filter(':input')
sur l'ensemble.
Parce que :l'entrée est une extension jQuery et ne fait pas partie de la CSS
de la spécification, de requêtes à l'aide de :entrée ne peut pas profiter de la
boost de performance fournis par les natifs de DOM querySelectorAll()
la méthode. Pour obtenir les meilleures performances lors de l'utilisation de :entrée pour sélectionner
éléments, sélectionnez d'abord les éléments à l'aide d'un pur sélecteur CSS, puis
utiliser .filtre(":l'entrée").
Dans la 1.7.2 source, l' :filtre d'entrée teste une expression régulière contre les nodeName:
input: function( elem ) {
return (/input|select|textarea|button/i).test( elem.nodeName );
},