Tengo un div que tiene un "span" y estoy agregando dinámicamente etiquetas "div" con una clase para identificarlas, por lo que mi pregunta es: ¿cómo puedo saber si mi etiqueta principal "div" tiene nuevos elementos secundarios de etiquetas div sin contar el etiquetar "lapso"? porque mi problema es que la función e[i].children.length siempre considera el título de intervalo como un elemento secundario
En resumen, necesito saber cuántas etiquetas div secundarias tiene el div principal (excluyendo todas las demás etiquetas html que se pueden agregar)
let e = document.getElementsByClassName('classDiv') for (let i = 0; i < e.length; i++) { if (e[i].children.length > 0) { console.log("has children"); } else { console.log("has no children"); } } <div id="parent" class="classDiv"> <span id="title">title</span> <div>children1</div> <div>children2</div> <div>children3</div> </div>Probar
var e = document.querySelectorAll('#parent > div'); console.log(e.length ? "has children" : "has no children"); El selector > se usa para seleccionar elementos con un padre específico
document.getElementById("parent").getElementsByTagName("div")Devolverá todos los elementos secundarios que son divs.
También puede hacer lo mismo con getElementsByClassName en lugar de getElementById, mientras itera sobre los resultados y usa el mismo getElementsByTageName en cada uno.