Antworten:
Verwenden Sie den Selektor: not .
$(".thisclass:not(#thisid)").doAction();
Wenn Sie mehrere IDs oder Selektoren haben, verwenden Sie einfach das Komma-Trennzeichen.
(".thisclass:not(#thisid,#thatid)").doAction();
All selectors are accepted inside :not(), for example: :not(div a) and :not(div,a)
Verwenden Sie also einfach die durch Kommas getrennten Selektoren, um mehrere (".thisclass:not(#thisid,#thatid)").doAction();
Oder nehmen Sie die Methode .not ()
$(".thisClass").not("#thisId").doAction();
.not()
ist kein Selektor. Es ist eine Funktion. Es gibt aber auch :not()
Selektoren wie andere Erwähnungen.
Sie können die .not- Funktion wie in den folgenden Beispielen verwenden, um Elemente mit einer genauen ID, einer ID, die ein bestimmtes Wort enthält, einer ID, die mit einem Wort beginnt, usw. zu entfernen. Siehe http://www.w3schools.com/jquery/jquery_ref_selectors Weitere Informationen zu jQuery-Selektoren finden Sie unter .asp .
Nach genauer ID ignorieren:
$(".thisClass").not('[id="thisId"]').doAction();
IDs ignorieren, die das Wort "Id" enthalten
$(".thisClass").not('[id*="Id"]').doAction();
IDs ignorieren, die mit "my" beginnen
$(".thisClass").not('[id^="my"]').doAction();
Ich werde nur eine JS (ES6) Antwort einwerfen, falls jemand danach sucht:
Array.from(document.querySelectorAll(".myClass:not(#myId)")).forEach((el,i) => {
doSomething(el);
}
Update (dies war möglicherweise möglich, als ich die ursprüngliche Antwort gepostet habe, füge diese aber trotzdem hinzu):
document.querySelectorAll(".myClass:not(#myId)").forEach((el,i) => {
doSomething(el);
});
Dadurch wird die Array.from
Verwendung beseitigt.
document.querySelectorAll
gibt a zurück NodeList
.
Lesen Sie hier, um mehr darüber zu erfahren, wie Sie darauf (und auf andere Weise) iterieren können: https://developer.mozilla.org/en-US/docs/Web/API/NodeList
$(".thisClass[id!='thisId']").doAction();
Dokumentation zu Selektoren: http://api.jquery.com/category/selectors/