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

223
Vistas
Este código funciona pero después de funcionar ¿Por qué este código muestra un error?

aquí está la parte html ..

 var removeButton = document.getElementById("remove"); removeButton.addEventListener("click", removeItem); function removeItem() { var list = document.getElementById("list"); var listItems = list.getElementsByTagName("li"); var last = listItems[listItems.length - 1]; list.removeChild(last); if (last == listItems.length - 1) { document.getElementById("remove").disabled = true; } }
 <ul id="list"> <li class="abc">cold cereal</li> <li class="abc">Ice cream</li> <li class="abc">Honey</li> <li class="abc">Olive Oil</li> </ul> <button id="btn" onclick="myfun()">add item</button> <button id="remove">remove item</button>

hizo clic en el botón Eliminar y está eliminando los elementos de la lista después de que todos los elementos se eliminan de la lista, muestra el error.

ingrese la descripción de la imagen aquí

cuando ejecuto este código, todo funciona bien, pero cuando todos los elementos se eliminan de la lista después de eliminar todos los elementos de la lista cuando presiono el botón una vez más, muestra el error

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Por aquí

 const removeButton = document.getElementById('remove') , list = document.getElementById('list') ; removeButton.addEventListener("click", removeItem); function removeItem() { let listItems = list.querySelectorAll('li') , lastRef = listItems.length - 1 ; list.removeChild(listItems[lastRef] ); if (lastRef === 0) { removeButton.disabled = true; } }
 <ul id="list"> <li class="abc">cold cereal</li> <li class="abc">Ice cream</li> <li class="abc">Honey</li> <li class="abc">Olive Oil</li> </ul> <button id="btn" onclick="myfun()">add item</button> <button id="remove">remove last item</button>

about 4 years ago · Juan Pablo Isaza Denunciar

0

Cuando se eliminan todos los nodos, no puede realizar la operación de eliminación, tendrá que aplicar una condición para superar esto

Reemplace su código de función removeItem con el siguiente:

 function removeItem() { var list = document.getElementById("list"); var listItems = list.getElementsByTagName("li"); if (listItems.length > 0) { var last = listItems[listItems.length - 1]; list.removeChild(last); } else{ alert("can't delete") } }

about 4 years ago · Juan Pablo Isaza Denunciar

0

no sé por qué usaste esto

 if( last == listItem.length - 1) { document.getElementById('remove').disable = true; }

prueba esto

 if(listItem.length - 1 === 0){ document.getElementById("remove").disabled = true; } }

about 4 years ago · Juan Pablo Isaza 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