Réponses:
Utilisez le sélecteur: not .
$(".thisclass:not(#thisid)").doAction();
Si vous avez plusieurs identifiants ou sélecteurs, utilisez simplement le séparateur virgule, en plus:
(".thisclass:not(#thisid,#thatid)").doAction();
All selectors are accepted inside :not(), for example: :not(div a) and :not(div,a)
utilisez simplement les sélecteurs délimités par des virgules pour faire plusieurs(".thisclass:not(#thisid,#thatid)").doAction();
.not()
n'est pas un sélecteur. C'est une fonction. Mais il y a aussi un :not()
sélecteur comme d'autres mentions de réponse.
Vous pouvez utiliser la fonction .not comme les exemples suivants pour supprimer les éléments qui ont un identifiant exact, un identifiant contenant un mot spécifique, un identifiant commençant par un mot, etc ... voir http://www.w3schools.com/jquery/jquery_ref_selectors .asp pour plus d'informations sur les sélecteurs jQuery.
Ignorer par ID exact:
$(".thisClass").not('[id="thisId"]').doAction();
Ignorer les ID contenant le mot «Id»
$(".thisClass").not('[id*="Id"]').doAction();
Ignorer les identifiants commençant par "mon"
$(".thisClass").not('[id^="my"]').doAction();
Je vais simplement ajouter une réponse JS (ES6), au cas où quelqu'un la chercherait:
Array.from(document.querySelectorAll(".myClass:not(#myId)")).forEach((el,i) => {
doSomething(el);
}
Mise à jour (cela a peut-être été possible lorsque j'ai publié la réponse originale, mais en l'ajoutant quand même):
document.querySelectorAll(".myClass:not(#myId)").forEach((el,i) => {
doSomething(el);
});
Cela supprime l' Array.from
utilisation.
document.querySelectorAll
renvoie un NodeList
.
Lisez ici pour en savoir plus sur la façon d'itérer dessus (et d'autres choses): https://developer.mozilla.org/en-US/docs/Web/API/NodeList
$(".thisClass[id!='thisId']").doAction();
Documentation sur les sélecteurs: http://api.jquery.com/category/selectors/