2011-10-06 71 views
0

我想在用戶在提示符中輸入'exit'後向頁面添加項目符號列表;該清單不應包含「退出」一詞。我能夠使用document.write得到完整的列表,但是這包括'退出'並擺脫了我的頁面格式。我很確定我需要使用innerHTML,但是當我這樣做時,我得到的是沒有任何數組項目的頁面。任何幫助是極大的讚賞。在Javascript中使用innerHTML的Array項目的無序列表

<html> 
<head> 
    <img src="http://profperry.com/Classes20/JavaScript/lordoftherings.png" /> 
    <title>Javascript Test</title> 
    <script> 
    function askMe() { 
     var fav_characterList = new Array(); 
     i = 0; 
     var fav_character = ""; 

     while(fav_character != 'exit'){ 

      fav_character = prompt("Who's your favorite Lord of the Rings character\n\n Enter 'exit' to stop prompting", ""); 
      fav_characterList[i] = fav_character; 

      i++; 
     } 

     n = (fav_characterList.length); 
     for(i = 0; i <= (n-1); i++){ 
      var list = fav_characterList[i]; 
      var MyList = getElementById('results'); 
      MyList.innerHTML = "<li>"+list+"</li>"; 


     } 


    } 







    </script> 

</head> 
<body onload="askMe()"> 
    <ul> 

     <div id="results"> 


     </div> 
    </ul> 


     <br/> 
     <br/> 

</body> 

回答

0

您必須使用document.getElementById()並且還會在循環內部生成一個字符串,並在循環後使用內部html,以便先前的li不會被寫入。

更新像

n = (fav_characterList.length); 
    var kk=""; 

    for(i = 0; i <= (n-1); i++){ 
     var list = fav_characterList[i]; 
     kk += "<li>"+list+"</li>" 


    } 
var MyList = document.getElementById('results');   
MyList.innerHTML = kk; 

,並在HTML代碼部分,刪除裏面UL和GIV的id div來UL

<ul id="results"> 


     </ul> 

,這裏是完整的代碼變成:

<html> 
<head> 
<img src="http://profperry.com/Classes20/JavaScript/lordoftherings.png" /> 
<title>Javascript Test</title> 
<script type="text/javascript"> 
    function askMe() 
{ 
    var fav_characterList = new Array(); 
    i = 0; 
    var fav_character = ""; 

      while(fav_character != 'exit') 
    { 

      fav_character = prompt("Who's your favorite Lord of the Rings character\n\n Enter 'exit' to stop prompting", ""); 
      fav_characterList[i] = fav_character; 
      i++; 
      } 

    n = (fav_characterList.length); 
    var kk=""; 

      for(i = 0; i <= (n-1); i++) 
    { 
      var list = fav_characterList[i]; 
      kk += "<li>"+list+"</li>" 
    } 

    var MyList = document.getElementById('results'); 
    MyList.innerHTML = kk; 

    } 
    </script> 

</head> 
<body onload="askMe()"> 
    <ul id="results"> 
    </ul> 
<br/> 
<br/> 
</body> 
</html> 
+0

非常感謝!那竅門 – user981572

+0

kkkk ........ :) – mithunsatheesh

0

您應該使用MyList.innerHTML += "<li>"+list+"</li>";(請注意使用的=+=代替)

此外,改變你的<ul> HTML是:

...

<ul id="results"> 
</ul> 

...

相關問題