Respostas:
Use o seletor: not .
$(".thisclass:not(#thisid)").doAction();
Se você tiver vários IDs ou seletores, use o delimitador de vírgula. Além disso:
(".thisclass:not(#thisid,#thatid)").doAction();
All selectors are accepted inside :not(), for example: :not(div a) and :not(div,a)
então é só usar os seletores delimitados por vírgula para fazer múltipla(".thisclass:not(#thisid,#thatid)").doAction();
.not()
não é um seletor. É uma função. Mas também há :not()
seletor como outras respostas mencionadas.
Você pode usar a função .not como os exemplos a seguir para remover itens com um ID exato, um ID contendo uma palavra específica, um ID começando com uma palavra, etc ... consulte http://www.w3schools.com/jquery/jquery_ref_selectors .asp para obter mais informações sobre os seletores jQuery.
Ignorar por ID exato:
$(".thisClass").not('[id="thisId"]').doAction();
Ignore IDs que contenham a palavra "Id"
$(".thisClass").not('[id*="Id"]').doAction();
Ignore os IDs que começam com "meu"
$(".thisClass").not('[id^="my"]').doAction();
Vou apenas dar uma resposta JS (ES6), caso alguém a esteja procurando:
Array.from(document.querySelectorAll(".myClass:not(#myId)")).forEach((el,i) => {
doSomething(el);
}
Atualização (isso pode ter sido possível quando eu postei a resposta original, mas a adicionei agora mesmo assim):
document.querySelectorAll(".myClass:not(#myId)").forEach((el,i) => {
doSomething(el);
});
Isso se livra do Array.from
uso.
document.querySelectorAll
retorna a NodeList
.
Leia aqui para saber mais sobre como iterar (e outras coisas): https://developer.mozilla.org/en-US/docs/Web/API/NodeList
$(".thisClass[id!='thisId']").doAction();
Documentação sobre seletores: http://api.jquery.com/category/selectors/