2012-09-19 12 views
5

Ich versuche, neue Elemente in einer ungeordneten Liste mit dem folgenden Code hinzuzufügen:neue Listenelemente zu einer ungeordneten Liste mit Javascript Hinzufügen

Die 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> 

Die 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); 

     } 
    } 
} 

Wenn ich dies in meinem Browser ausführen, bekomme ich nur nichts als Leerzeichen. Ich checke FireBug (unter Firefox 15.0.1) ein, um zu sehen, ob es irgendwelche Fehler gibt, aber nichts ist auffällig. Ich denke, ich verbinde etwas nicht richtig miteinander - es scheint so ein grundlegendes Problem zu sein, aber ich kann nicht nachvollziehen, warum die Elemente nicht zur ungeordneten Liste hinzugefügt werden.

Ich bin mir sicher, die Kommentierung im Javascript-Code ist ausreichend, aber zögern Sie nicht mich Fragen zu stellen, wenn es nicht ist.

Vielen Dank für die Hilfe :).

+0

Sie hier einige Performance-Problem haben. Sie sollten "var dc = document.createDocumentFragment()" verwenden und nach dem Hinzufügen aller Listenelemente zu Ihrem "dc" sollten Sie das html-Fragment auf einmal an Ihre Liste anhängen. – DevWL

Antwort

9

Ihre for loop nicht sofort, weil i nicht größer als 100 ist, wenn Sie so etwas wie dies versuchen sollte es funktionieren:

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

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

+0

Solch ein Grundfehler - danke für die Auffrischung :). – Rob

Verwandte Themen