Entonces, el primer main tiene solo un hijo, por eso seleccioné los blades secundarios como var blades = main.children[0]; luego estoy tratando de recorrer y simplemente eliminar a los elementos secundarios dentro de los blades desde [3] hasta [7] pero, por alguna razón, al hacer esto en la consola no funcionará.
function deleteBlades() { var main = document.getElementById("id-9a1e3f8f48548d4c2c422b1f92cb749a"); var blades = main.children[0]; for (var i = 0; i < blades.length; i++) { if( i >= 3 || i <= 7) { blades.children[i].remove(); } } } deleteBlades();¿Alguna idea sobre qué estoy haciendo mal?
en su ciclo for está leyendo blades.length cuando es un HTMLElement no una matriz, use blades.children.length en su lugar
function deleteBlades() { var main = document.getElementById("id-9a1e3f8f48548d4c2c422b1f92cb749a"); var blades = main.children[0]; for (var i = 0; i < blades.children.length; i++) { if( i >= 3 || i <= 7) { blades.children[i].remove(); } } } deleteBlades();Parece que tienes un error tipográfico en tu bucle.
Creo que lo que quisiste hacer es:
for (var i = 0; i < blades.children.length; i++) {