Tengo un nodo con un montón de nodos secundarios que recurren. Estoy tratando de averiguar qué tan lejos está cada nodo de la raíz (que tiene una identificación de 'comentario-0').
Tengo la siguiente estructura HTML:
<div id="comment-0"> <div id="comment-2598" class="comment comment--parent" data-cid="2598"> <div id="comment-2599" class="comment comment--child" data-cid="2599"> <div id="comment-2615" class="comment comment--child" data-cid="2615"> </div> </div> <div id="comment-2604" class="comment comment--child" data-cid="2604"> <div id="comment-2616" class="comment comment--child" data-cid="2616"> </div> </div> </div> </div>La función de llamada:
rootNode.querySelectorAll('.comment').forEach((el)=>{ const result = findDepth(el,0); console.log("el: "+el.id, result); });y mi función recursiva:
const findDepth = (el, depth) => { depth++; console.log(el.id, el.parentNode.id); console.log(depth); if(el.parentNode.id !== 'comment-0'){ findDepth(el.parentNode, depth); }else { return depth; } }; La función recursiva parece subir con éxito para averiguar qué tan lejos está cada nodo de la raíz pero, independientemente del valor de depth dentro de la función, cuando se devuelve el valor, no está definido y no puedo ver por qué.