Supongamos que tiene una lista con listas secundarias anidadas.Selector de elementos secundarios usando `querySelectorAll` en una colección DOM
<ul>
<li></li>
<li>
<ul>
<li></li>
<li></li>
</ul>
</li>
<li></li>
</ul>
Y el uso de document.querySelectorAll()
para hacer una selección:
var ul = document.querySelectorAll("ul");
¿Cómo puedo utilizar la colección ul
para obtener los elementos secundarios directos?
ul.querySelectorAll("> li");
// Gives 'Error: An invalid or illegal string was specified'
Vamos a suponer ul
se almacena en caché de alguna manera (lo contrario podría haber hecho ul > li
directamente).
En jQuery esto funciona:
$("ul").find("> li");
Pero no es así en querySelectorAll
nativa. Alguna solución?
Eso selector no tiene mucho sentido. Con jQuery usarías '.children (" li ")' en lugar de '.find ("> li ")'. Estoy sorprendido de que funcione en realidad. –
@ MДΓΓБДLL '.find ('> li ul span')' es útil, pero no tanto como en el ejemplo del PO. – alex
@ MДΓΓБДLL el ejemplo es un poco artificial, pero definitivamente tiene un caso de uso del mundo real :) – Husky