Quel est le but d’un deux-points dans un sélecteur jQuery?

J’ai commencé à utiliser le toolkit Wijmo et j’ai rencontré plusieurs exemples de sélecteurs similaires à ceux de leurs pages de documentation:

$(":input[type='radio']").wijradio(); 

J’aurais écrit le mien comme ceci:

 $('input[type=radio]').wijradio(); 

Est-ce que cela fait la même chose ou est-ce qu’il y a quelque chose qui me manque?

Notez qu’il y a deux différences ci-dessus: le premier sélecteur est précédé d’un deux-points et contient des guillemets pour le type d’entrée.

:input est une extension jQuery alors que input est un sélecteur CSS.

textarea , button et select seraient appariés par le premier, mais pas par le second.

Ce dernier est plus rapide, alors utilisez-le pour votre exemple de radio spécifique. Utiliser :input lorsque vous voulez “tous les éléments de formulaire” même s’ils ne sont pas ssortingctement balises . Même dans ce cas, il est recommandé d’utiliser d’abord un sélecteur CSS standard, puis d’utiliser .filter(':input') sur cet ensemble.

Dans la mesure où: input est une extension jQuery et ne fait pas partie de la spécification CSS, les requêtes utilisant: input ne peuvent pas tirer parti de l’amélioration des performances fournie par la méthode DOM querySelectorAll () native. Pour obtenir les meilleures performances lors de l’utilisation de: input pour sélectionner des éléments, sélectionnez d’abord les éléments à l’aide d’un sélecteur CSS pur, puis utilisez .filter (“: input”).

Dans la source 1.7.2, le filtre: input teste une expression régulière par rapport à nodeName:

 input: function( elem ) { return (/input|select|textarea|button/i).test( elem.nodeName ); }, 

le sélecteur $("input") choisira uniquement les éléments du type input

tandis que le sélecteur $(":input") intercepte tous les éléments d’entrée (tels que textarea, select, input etc …)

Pour plus d’informations, consultez la documentation officielle de jQuery sur le :input sélecteur d’ :input à:

http://api.jquery.com/input-selector/

Le sélecteur :input sélectionne fondamentalement tous les contrôles de form (éléments input, textarea, select et button) où, en tant que sélecteur d’ input , sélectionne tous les éléments par nom de tag.

Puisque le bouton radio est un élément de form et qu’il utilise également input balise d’ input , ils peuvent être utilisés pour sélectionner le bouton radio. Cependant, les deux approches diffèrent de la manière dont elles trouvent les éléments et ont donc chacune des avantages en termes de performances.