Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

297
Vistas
Cuente elementos específicos en un contenedor div solo en el nivel superior

Mi estructura HTML es así:

 <div container> <div child_container> <span 1> 1 </span> <span 2> 2 </span> </div child_container>> <span 3> 3 </span> <span 4> 4 </span> </div container>

Quiero contar el tramo 3 y el tramo 4 dentro de mi contenedor. No los intervalos dentro de child_container .

He probado varias cosas:

Esto contará todo dentro del contenedor :

 var countElementsAfter = columnNamesOverview_comparison_values.getElementsByTagName("span").length;

Esto no funcionará:

 var countElementsAfter = columnNamesOverview_comparison_values.getElementsByTagName("span").childNodes[0]length;

Y este, el resultado sigue siendo 1, aunque tengo dos elementos:

 var countElementsAfter1 = columnNamesOverview_comparison_values.getElementsByTagName("span"); var k = []; for (var i=0, len=c.length; i<len; ++i) { k[k.length] = c[i]; }

¿Cómo puedo contar los elementos span en mi contenedor sin contar los elementos secundarios?

about 4 years ago · Santiago Gelvez
1 Respuestas
Responde la pregunta

0

Puede usar document.querySelectorAll que puede usar el selector css

 const spans = document.querySelectorAll("#container > span") console.log(spans.length)
 <div id="container"> <div id="child_container"> <span 1> 1 </span> <span 2> 2 </span> </div> <span 3> 3 </span> <span 4> 4 </span> </div>

en caso de que no pueda tener un selector para el elemento principal (y, por lo tanto, no pueda seleccionar su elemento secundario específicamente), puede recorrer sus elementos secundarios y filtrar

 const container = document.querySelector("#container") const spans = Array.from(container.children) .filter(child => child.tagName === "SPAN") console.log(spans.length)
 <div id="container"> <div id="child_container"> <span 1> 1 </span> <span 2> 2 </span> </div> <span 3> 3 </span> <span 4> 4 </span> </div>

about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda