Cómo seleccionar un elemento que no tiene una clase específica

Me pregunto cómo seleccionar un elemento que no tiene una clase específica usando JavaScript, no jQuery.

Por ejemplo, tengo esta lista:

<ul id="tasks">
  <li class="completed selected">One Task</li>
  <li>Two Task</li>
</ul>

y selecciono la tarea completada por:

var completeTask = document.querySelector("li.completed.selected");

Pero entonces no estoy seguro de cómo seleccionar el elemento de lista que no tiene esas clases.

Respuestas:6 Respuestas 6
Tiempo:hace 8 años, 7 meses
Última modificación:hace 22 días

Solución

Esto selecciona el segundo elemento.LI

document.querySelector("li:not([class])")

o

document.querySelector("li:not(.completed):not(.selected)")

Ejemplo:

// select li which doesn't have a 'class' attribute...
console.log(document.querySelector("li:not([class])"))

// select li which doesn't have a '.completed' and a '.selected' class...
console.log(document.querySelector("li:not(.completed):not(.selected)"))
 <ul id="tasks">
    <li class="completed selected">One Task</li>
    <li>Two Task</li>
  </ul>

Otras respuestas

Puedes probar el selector:not()

var completeTask = document.querySelector("li:not(.completed):not(.selected)");

http://jsfiddle.net/UM3j5/

Deja un comentario