Código de JavaScript - Obtener todos los elementos recursivamente

Imágen de perfil
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Obtener todos los elementos recursivamentegráfica de visualizaciones


JavaScript

Publicado el 16 de Diciembre del 2019 por Joel (150 códigos)
3.953 visualizaciones desde el 16 de Diciembre del 2019
Este código muestra como obtener de forma recursiva todos los elementos del DOM desde un elemento dado.

De este código:
1
2
3
4
5
6
7
<div id="myId">
    <p>
        <span>a</span>
        <a href="https://lawebdelprogramador.com">https://lawebdelprogramador.com</a>
    </p>
    <p>b</p>
</div>

Nos devolverá un array con:
1
[p, span, a, p]

Versión 1
estrellaestrellaestrellaestrellaestrella(1)

Publicado el 16 de Diciembre del 2019gráfica de visualizaciones de la versión: Versión 1
3.954 visualizaciones desde el 16 de Diciembre del 2019
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<div id="myId">
    <p>
        <span>a</span>
        <a href="https://lawebdelprogramador.com">https://lawebdelprogramador.com</a>
    </p>
    <p>b</p>
</div>
 
<script>
function getChildNodes(element) {
    let result=[];
    for (var i = 0; i < element.childNodes.length; i++) { // cuenta los hijos primarios que tiene
        if (element.childNodes[i].nodeType==3) { // si es un texto no lo guardamos
            continue;
        }
 
        result.push(element.childNodes[i]);
        if (element.childNodes[i].hasChildNodes()) { // si tiene hijos
            result=result.concat(getChildNodes(element.childNodes[i])); // llamamos la funcion nuevamente
        }
    }
    return result;
}
 
const element = document.getElementById("myId")
const result = getChildNodes(element);
 
console.log(result); // [p, span, a, p]
</script>



Comentarios sobre la versión: Versión 1 (1)

Imágen de perfil
16 de Diciembre del 2019
estrellaestrellaestrellaestrellaestrella
No ha dejado ningún comentario
Responder

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s5729