Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

113
Visualizações
javascript foreach con DOM

Soy muy nuevo en JS, así que sé amable jaja, pero estoy tratando de crear una tabla de contenido en una página usando el DOM.

 const h2 = document.querySelectorAll('h2'); const toc = document.querySelector('#toc') h2.forEach(heading => { toc.innerHTML = `<li><a href="">${heading}</a></li>` })

no está funcionando como esperaría tbh. cualquier ayuda es apreciada, probablemente solo estoy siendo tonto

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

¡Creo que algo como esto debería funcionar! Esto es lo que cambié para que funcione:

  • Use += en lugar de = para innerHTML. Si solo usa = , cada vez que se ejecuta forEach , reemplaza el contenido. Está tratando de crear una lista, por lo que desea que se agregue.
  • Obtenga el innerText del heading . heading es un elemento, por lo que debe ingresar y obtener su texto, de lo contrario, lo que muestra no se verá bien.

 const h2 = document.querySelectorAll('h2'); const toc = document.querySelector('#toc') h2.forEach(heading => { toc.innerHTML += `<li><a href="">${heading.innerText}</a></li>` })
 <ul id="toc"></ul> <h2>One</h2> <h2>Two</h2>

about 4 years ago · Juan Pablo Isaza Relatório

0

Con respecto al comentario de @Utkarsh Dixit: Esto es mucho más eficaz y está creando el mismo resultado.

 const h2 = document.querySelectorAll('h2'); const toc = document.querySelector('#toc') h2.forEach(heading => { // Create two elements const li = document.createElement('li') const anchor = document.createElement('a') // Assign the text content to the anchor anchor.textContent = heading.textContent // Add them together toc > li > anchor li.append(anchor) toc.append(li) })
 <ul id="toc"></ul> <h2>One</h2> <h2>Two</h2>

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda