Necesito obtener la identificación de todos los elementos secundarios, que están en la clase principal = "demostración", pero si la clase principal = "demostración" tiene una identificación = "simone", no necesito obtener la identificación secundaria. ¿Cómo lograr esto?
Si es Simone, no obtenga la identificación de los niños, sino obtenga la identificación de los niños.
var name; var divsname = document.querySelectorAll('.demo *'); divsname.forEach(function(div){ if (div.hasAttribute("id")) { name += "Name: "+div.getAttribute("id")+", "; }else{ } document.getElementById("get-demo").innerHTML = name; console.log(name); }); <div id="maja" class="demo"><div id="maja-child"></div></div> <div id="alex" class="demo"><div id="alex-child"></div></div> <div id="simone" class="demo"><div id="simone-child"></div></div> <div id="pit" class="demo"><div id="pit-child"></div></div> <div id="get-demo"></div>Puede usar el selector css :not y excluir el id simone.
var name; var divsname = document.querySelectorAll('.demo:not(#simone) *'); divsname.forEach(function(div){ if (div.hasAttribute("id")) { name += "Name: "+div.getAttribute("id")+", "; }else{ } document.getElementById("get-demo").innerHTML = name; console.log(name); }); <div id="maja" class="demo"><div id="maja-child"></div></div> <div id="alex" class="demo"><div id="alex-child"></div></div> <div id="simone" class="demo"><div id="simone-child"></div></div> <div id="pit" class="demo"><div id="pit-child"></div></div> <div id="get-demo"></div>Puede usar la respuesta @jkoch o si necesita hacer algo con cualquier div con id 'simone', puede filtrarlo dentro de la función de devolución de llamada forEach. La variable de nombre la configuré en un "" en blanco para evitar obtener 'resultado' en la variable de nombre.
var name = "" var divsname = document.querySelectorAll('.demo'); divsname.forEach(function(div){ if (div.id !== 'simone') { name += "Name: "+div.id+", "; }else{ //code if you want to do something with simone id } document.getElementById("get-demo").innerHTML = name; console.log(name); });Esto debería funcionar.
document.querySelectorAll(".demo").forEach((item) => { if (item.id !== "simone") { console.log(item.firstChild.id); } }); <div id="maja" class="demo"><div id="maja-child"></div></div> <div id="alex" class="demo"><div id="alex-child"></div></div> <div id="simone" class="demo"><div id="simone-child"></div></div> <div id="pit" class="demo"><div id="pit-child"></div></div> <div id="get-demo"></div>