48 votes

jQuery - Plusieurs sélecteurs dans un :not()?

Je n'arrive pas à faire fonctionner les éléments suivants :

 $('input:not([type=radio][type=checkbox])').live('click', function() {
    alert("You haven't clicked a radio or checkbox!");
});

J'ai essayé quelques syntaxes différentes, quelqu'un peut-il m'aider sur celui-ci.

À votre santé Charlie

85voto

Frédéric Hamidi Points 123646

Vous confondez le sélecteur multiple avec le sélecteur d'attributs multiples . Vous devez écrire :

 $("input:not([type=radio], [type=checkbox])");

Le sélecteur d'attributs multiples [type=radio][type=checkbox] correspond aux éléments dont les type sont égaux à la fois à radio et à checkbox , ce qui ne peut pas se produire dans cet univers.

5voto

darkliquid Points 1570

La syntaxe à l'intérieur de not() est identique à la syntaxe de sélecteur normale, donc si vous voulez faire correspondre des choses qui ne sont pas l'une de ces choses, vous utilisez un sélecteur dans le not qui correspondrait aux deux (puisqu'essentiellement vous' nier le sélecteur). Comment tu fais ça? De la même manière que vous appliquez des styles à plusieurs sélecteurs à la fois en CSS, avec une virgule, ainsi :

 $('input:not([type=radio],[type=checkbox])')

Cela devrait sélectionner toutes les entrées non [type=radio] et non [type=checkbox]

2voto

Junaid Anwar Points 386

Vous pouvez également exclure des éléments comme celui-ci :

 $('input').not('[type=radio], [type=checkbox]').live('click', function() {
    alert("You haven't clicked a radio or checkbox!");
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X