Para obtener los nodos hijos, use obj.childNodes
, que devuelve un objeto de colección.
Para obtener el primer hijo, use list[0]
, que devuelve un nodo.
Así que el código completo debe ser:
var div = document.getElementById('header-inner');
var divTitleWrapper = div.childNodes[0];
var h1 = divTitleWrapper.childNodes[0];
Si desea iterar sobre todos los niños, comparando si son de “título” de clase, se puede repetir utilizando un bucle y el atributo className
.
El código debería ser:
var h1 = null;
var nodeList = divTitleWrapper.childNodes;
for (i =0;i < nodeList.length;i++){
var node = nodeList[i];
if(node.className == 'title' && node.tagName == 'H1'){
h1 = node;
}
}
¿Está simplemente buscando un descendiente H1 de un DIV dado? ¿O quieres identificarlo por nombre de clase? ¿O está específicamente interesado en encontrar un elemento H1 con "título" de clase que sea hijo de un DIV con una clase de "titlewrapper" que a su vez es un hijo del DIV con id "header-inner"? – Shog9
Solo quiero poder obtener h1 dentro de un div con ID dado (en mi caso header-inner) – JohnIdol