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

296
Visualizações
No se puede usar removeChild() para eliminar el elemento que se acaba de agregar a la lista. Solo se pueden borrar los del principio

Este es de dos botones. Uno es " appendChild ", uno es " Eliminar niño".

Lista ----Antes------------

  1. una

  2. dos

  3. Tres

  4. adjunto

  5. adjunto

-------------------------

Después de agregar dos elementos nuevos, quiero eliminar el último. Pero cuando presiono el botón de eliminar.

Lista ---Después-------------

  1. una

  2. dos

  3. (?????????? ser borrado)

  4. adjunto

  5. adjunto

-------------------------

Los elementos adjuntos todavía están allí. Veo que muchos resuelven este problema con jQuery, pero yo soy totalmente nuevo. Me pregunto si JavaScript tiene la solución.

 apd.onclick = function() { let apd = document.getElementById('apd') let node = document.createElement('li') node.className = 'added' let textnode = document.createTextNode('this is node content') node.appendChild(textnode) document.getElementById('list').appendChild(node) } let list = document.getElementById('list') let rem = document.getElementById('rem') rem.onclick = function() { let node = document.createElement('li') document.getElementById('list').removeChild(list.children[0]) }
 <ul id="list"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul> <button id="apd">click me to append child!</button> <button id="rem">click me to remove child!</button>

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

0

Puede usar list.lastElementChild.remove(); para eliminar el problema y en lugar del evento onclick, use addEventListener como lo sugiere @TJ- Crowder en un comentario como:

 let list = document.getElementById('list') let rem = document.getElementById('rem') let apd = document.getElementById('apd') apd.addEventListener('click', () => { let node = document.createElement('li') let textnode = document.createTextNode('this is node content') node.className = 'added' node.appendChild(textnode) list.appendChild(node) }); rem.addEventListener('click', () => { list.lastElementChild.remove(); //or if you need application for IE use list.removeChild(list.lastElementChild); });
 <ul id="list"> <li>123125151</li> <li>123125151</li> <li>123125151</li> <li>123125151</li> <li>123125151</li> </ul> <button id="apd">click me to append child!</button> <button id="rem">click me to remove child!</button>

Referencia:

  • Element.lastElementChild
  • Element.remove() - nota: no en Internet Explorer, necesitaría removeChild en el padre en su lugar
  • EventTarget.addEventListener()
about 4 years ago · Juan Pablo Isaza Relatório

0

Estás eliminando el primero y no el último.

En lugar de list.children[0], puede usar list.children[list.children.length - 1], que será el último.

 apd.onclick = function() { let apd = document.getElementById('apd') let node = document.createElement('li') node.className = 'added' let textnode = document.createTextNode('this is node content') node.appendChild(textnode) document.getElementById('list').appendChild(node) } let list = document.getElementById('list') let rem = document.getElementById('rem') rem.onclick = function() { let node = document.createElement('li') document.getElementById('list').removeChild(list.children[list.children.length - 1]) }
 <ul id="list"> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> </ul> <button id="apd">click me to append child!</button> <button id="rem">click me to remove child!</button>

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