¿Cómo puedo excluir elementos de etiquetas que tienen un nombre de clase específico?
<span class="test" />
<span class="test asd" />
document.querySelectorAll('span.test'); //how to exclude all spans with "asd" as class name?
Usar :not
Pseudoclase CSS:
document.querySelectorAll('span.test:not(.asd)');
-
¡Funcionó muy bien en mi caso! Muchísimas gracias.
– Arif Billah
14 de marzo a las 9:27
Utilizar el pseudo-selector de negación de CSS, :not()
:
document.querySelectorAll('span.test:not(.asd)');
La pseudo-clase negación,
:not(X)
, es una notación funcional que toma un selector simple (excluyendo la propia pseudoclase de negación) como argumento. Representa un elemento que no está representado por su argumento.
-
Y si
.asd
es una clase padre? Por ejemplo, si necesitamos seleccionar algunos elementos con clase.bbb
que no tienen.asd
en alguna clase de padres? ¿Es posible usar:not()
¿de esa manera? ¿O deberíamos seleccionar primero todos los elementos con clase?.test
y sin clase.asd
y luego de alguna manera extraer de los elementos NodeList resultantes con clase.bbb
? Si es así, ¿cómo? 🙂– COMO
21 oct 2018 a las 6:00
Elemento por tagName e ignorar o excluir elementos que tienen una clase específica:
document.querySelectorAll(`svg,div:not([class*="background"]`)
$(‘span:not(.asd)’) – Esto te ayudará
– prakashstar42
1 de septiembre de 2014 a las 11:59
posible duplicado de ¿Cómo puedo excluir una clase de mi selector jQuery?
–Paolo Moretti
1 de septiembre de 2014 a las 11:59
@membersound Así que finalmente elegiste
querySelectorAll
?– Visión
1 de septiembre de 2014 a las 12:01