2010-03-31 12 views

Respuesta

228

Uso del :not selector.

$(".thisclass:not(#thisid)").doAction(); 

Si tiene varios ID o selectores sólo tiene que utilizar el delimitador de coma, además:

(".thisclass:not(#thisid,#thatid)").doAction();

+2

¿Qué sucede si desea excluir más de una clase? THX – SoulMagnet

+12

De la documentación: 'Se aceptan todos los selectores: not(), por ejemplo:: not (div a) y: not (div, a)' así que use los selectores delimitados por comas para hacer '(" múltiples). thisclass: not (# thisid, # thatid) "). doAction();' – Chausser

+0

trabajado con comillas simples como esta - $ (". thisclass: not ('# thisid')"). doAction(); –

25

O tomar el. método not()

https://api.jquery.com/not/

$(".thisClass").not("#thisId").doAction(); 
+3

'.not()' no es un selector. Es una función. Pero también hay un selector ': not()' como otras menciones de respuesta. – WoIIe

2

Utilizando el método .not() con la selección de un elemento entero es también una opción.

De esta manera podría ser útil si desea hacer otra acción con ese elemento directamente.

$(".thisClass").not($("#thisId")[0].doAnotherAction()).doAction(); 
4

Se podría utilizar el .no función como los siguientes ejemplos para eliminar los elementos que tienen una identificación exacta, identificación que contiene una palabra específica, de la identificación a partir de una palabra, etc ... ver http://www.w3schools.com/jquery/jquery_ref_selectors.asp para más información en los selectores jQuery.

Ignorar Exact ID:

$(".thisClass").not('[id="thisId"]').doAction(); 

Ignorar de identificación que contiene la palabra "Id"

$(".thisClass").not('[id*="Id"]').doAction(); 

Ignorar los ID que comienzan con "mi"

$(".thisClass").not('[id^="my"]').doAction(); 
4

voy solo arroje una respuesta JS (ES6), en caso de que alguien lo esté buscando:

Array.from(document.querySelectorAll(".myClass:not(#myId)")).forEach((el,i) => { 
    doSomething(el); 
} 
Cuestiones relacionadas