Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/12/2015, 16:07
jaskonio
 
Fecha de Ingreso: octubre-2015
Ubicación: Valencia
Mensajes: 9
Antigüedad: 8 años, 6 meses
Puntos: 1
Error, eliminar elementos

Hola buenas noches, estoy empezando con javascript y me dio por crear una "lista de la compra", puedo añadir elementos con total normalidad, pero tengo un gran problema a la hora de querer eliminar varios elementos.

html
Código HTML:
Ver original
  1. <div class="ingresar">
  2.         <input type="text" id="botton" name="ingresar" maxlength="20" onfocus="" placeholder="añadir a la lista">
  3.         <input type="submit" id='enviar' value="añadir" onclick="enviar()">
  4.     </div>
  5.     <div id="contenido">
  6.         <ul id="lista"></ul>
  7.     </div>
Código Javascript:
Ver original
  1. contador = 0;
  2.             valor = 0;
  3.             n=0;
  4.             function enviar () {
  5.                 var botton = document.getElementById('botton');
  6.                 var contenido = document.getElementById('botton').value;
  7.                 var lista = document.getElementById('lista');
  8.  
  9.                 if (contenido == '') {
  10.                     var ingresar = document.getElementsByClassName('ingresar');
  11.                     if (contador== 0) {
  12.                         ingresar[0].innerHTML += '<p id="error">No ha escrito nada, por favor añada un elemento a la lista</p>';
  13.                         contador++;
  14.                     }
  15.                     else {
  16.                        
  17.                     }
  18.                 }
  19.                 else{
  20.                     if (contador == 1) {
  21.                         var parrafo =document.getElementById('error');
  22.                         parrafo.parentNode.removeChild(parrafo);
  23.                     }
  24.  
  25.                     lista.innerHTML += "<li class='compra"+n+"'><span class='borrar'>x</span>" + contenido+ "</li>";
  26.                     valor++;
  27.                     n++;
  28.                    
  29.                 }
  30.                 botton.value='';
  31.                 borrar();
  32.             }
  33.  
  34.             function borrar () {
  35.                 compras = document.getElementsByTagName('li');
  36.                 for (var i = 0; i < compras.length; i++) {
  37.                     eliminar(i);
  38.                 };
  39.  
  40.             }
  41.             function eliminar (argument) {
  42.                 var borrar = document.getElementsByClassName('borrar');
  43.                 borrar[argument].addEventListener('click',function  () {
  44.                     compras[argument].remove();
  45.                 })
  46.             }
Al añadir por ejemplo 6 elementos LI Y querer eliminar de forma aleatoria me da fallos en la funcion remove().
He probado en añadir una funcion que vaya actualizando el array de elemetos añadidos pero aun así no puedo o quizá lo este haciendo mal. ):
SALUDOS!!