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

303
Visualizações
¿Cómo hacer que el primer elemento de la lista deje espacio para el segundo elemento y así sucesivamente?

Creé un botón que, cuando se hace clic, crea un elemento en la lista div. En la lista div 'Total:' está codificado de forma rígida. Quiero que el total disminuya cada vez que se crea un elemento para que el elemento ocupe su lugar y el total se pueda mostrar en la parte inferior. Pero el total del problema permanecerá en su lugar y el elemento se creará debajo. ¿Cómo puedo evitar que eso suceda?

Aquí está el código (prueba):

 const btn = document.querySelector(".btn"); const itemList = document.querySelector(".item-list"); btn.addEventListener('click', function(e) { const para = document.createElement('div'); para.classList.add('item-list'); para.innerHTML = `<p class="item">Potato Chips</p>` itemList.appendChild(para); })
 .list-container { height: 500px; width: 300px; background-color: cadetblue; } header { background-color: burlywood; border-style: groove; } .btn { margin-bottom: 20px; }
 <div class="list-container"> <header> <h4>List Time</h4> <button class="btn">click</button> </header> <div class="item-list"> <div> <p>Total: </p> </div> </div> </div>

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

0

Puede usar insertBefore en lugar de appendChild (o prepend como sugiere Titus en los comentarios). insertBefore en mi ejemplo.

 const btn = document.querySelector(".btn"); const itemList = document.querySelector(".item-list"); const totalEl = document.getElementById('total'); // added id on the element I want to insert items before btn.addEventListener('click', function(e) { const para = document.createElement('div'); para.classList.add('item-list'); para.innerHTML = `<p class="item">Potato Chips</p>` itemList.insertBefore(para, totalEl); })
 .list-container { height: 500px; width: 300px; background-color: cadetblue; } header { background-color: burlywood; border-style: groove; } .btn { margin-bottom: 20px; }
 <div class="list-container"> <header> <h4>List Time</h4> <button class="btn">click</button> </header> <div class="item-list"> <div id="total"> <p>Total: </p> </div> </div> </div>

about 4 years ago · Juan Pablo Isaza Relatório

0

Use "anteponer" en lugar de "agregar niño", ya que "anteponer" se insertará antes del elemento, pero agregar se insertará después.

 const btn = document.querySelector(".btn"); const itemList = document.querySelector(".item-list"); btn.addEventListener('click', function(e) { const para = document.createElement('div'); para.classList.add('item-list'); para.innerHTML = `<p class="item">Potato Chips</p>` itemList.prepend(para); })
 .list-container { height: 500px; width: 300px; background-color: cadetblue; } header { background-color: burlywood; border-style: groove; } .btn { margin-bottom: 20px; }
 <div class="list-container"> <header> <h4>List Time</h4> <button class="btn">click</button> </header> <div class="item-list"> <div> <p>Total: </p> </div> </div> </div>

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