2012-09-19 9 views
5

Estoy tratando de añadir nuevos elementos a una lista desordenada con el siguiente código:La adición de nuevos elementos de la lista a una lista desordenada con Javascript

El HTML:

<!DOCTYPE html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>Javascript</title> 
<link rel="stylesheet" href="jsPlay.css" type="text/css" /> 
<script src="jsPlay.js"></script> 
</head> 

<body> 

<ul id="numberList"></ul> 

</body> 
</html> 

El Javascript:

window.onload = function() 
{ 
    //alert("Window is loaded"); 

    var numberList = document.getElementById("numberList"); 


    //for every number between 100 and 200  
    for(var i = 0; i > 100 && i < 200; i++) 
    { 
     if (i % 17 == 0 && i % 2 == 0) //if number evenly divisible by 17 and 2 
     { 
        //create new li element 
      var newNumberListItem = document.createElement("li"); 

        //create new text node 
      var numberListValue = document.createTextNode(i); 

        //add text node to li element 
      newNumberListItem.appendChild(numberListValue); 

        //add new list element built in previous steps to unordered list 
        //called numberList 
      numberList.appendChild(newNumberListItem); 

     } 
    } 
} 

Cuando ejecuto esto en mi navegador, solo obtengo espacio en blanco. Compruebo FireBug (en Firefox 15.0.1) para ver si hay algún error, pero no hay nada notable. Creo que no estoy vinculando algo adecuadamente, parece un problema tan básico, pero no logro descifrar por qué los elementos no se agregan a la lista desordenada.

Estoy seguro de que los comentarios en el código JavaScript son suficientes, pero no dude en hacerme preguntas si no es así.

Muchas gracias por la ayuda :).

+0

Tienes algún problema de rendimiento aquí. Debería usar "var dc = document.createDocumentFragment()" y luego de agregar todos los elementos de la lista a su "dc", debe agregar el fragmento html a su lista de una sola vez. – DevWL

Respuesta

9

Su for loop falla inmediatamente porque i no es mayor que 100. Si intentar algo como esto debería funcionar:

for (var i = 100; i < 200; i++) 

Ejemplo: http://jsfiddle.net/grc4/gc4X5/1/

+0

Un error tan básico: gracias por el refresco :). – Rob

Cuestiones relacionadas