2014-04-25 57 views
-1

我是一個完整的編程新手,所以對我來說很簡單。如何將數組對象打印到表中?

我想使用getElementByID將數組對象打印到HTML表格中。

<script> 

     var ram = ["8GB", "3GB"]; 
     var storage = ["500GB" , "120GB"]; 

     document.getElementById("mac.r").innerHTML = ram[0]; 
     document.getElementById("mac.s").innerHTML = storage[0]; 

</script> 

我想打印在表格

<table width="600" border="6" cellpadding="5px"> 
    <tr> 
    <td>&nbsp; Ram</td> 
    <td>&nbsp; Storage</td> 
    </tr> 
    <tr> 
    <td id="mac.r"></td> 
    <td id="mac.s"></td> 
    </tr> 
</table> 

我用一臺MacBook和谷歌Chrome。

+1

工作正常。這有什麼問題? –

+0

正如@RahilWazir所說,你的代碼工作正常,http://jsfiddle.net/jZjKR/1/ – TriniBoy

+0

我認爲他的意思是它只「打印」第一個值,他想要所有的值 - 我是對的@我的權利@ user3572468 –

回答

0

如果您必須將腳本內聯放置在頁面的底部。如下所示,您可以查看fiddle here

一旦存在需要填充的元素,就可以循環使用所需的數據並將相關元素填充到數據中。

<html> 
    <body> 
     <table width="600" border="6" cellpadding="5px"> 
      <tr> 
       <td>&nbsp; Ram</td> 
       <td>&nbsp; Storage</td> 
      </tr> 
      <tr> 
       <td id="mac.r"></td> 
       <td id="mac.s"></td> 
      </tr> 
     </table> 
     <script> 
      (function() { 
       var ram = ["8GB", "3GB"]; 
       var storage = ["500GB", "120GB"]; 
       var macR = document.getElementById('mac.r'); 
       var macS = document.getElementById('mac.s'); 

       for(var i = 0; i < ram.length; i++){ 
        if (macR !== null) macR.innerHTML = macR.innerHTML + ram[i] + "<br>"; 
       } 
       for(var i = 0; i < ram.length; i++){ 
        if (macS !== null) macS.innerHTML = macS.innerHTML + storage[i] + "<br>"; 
       } 
      })(); 
     </script> 
    </body> 
</html> 
0

一個簡單的方法是使用陣列的內置的「forEach」的方法:

var ram = ["8GB", "3GB"], 
    storage = ["500GB" , "120GB"]; 

ram.forEach(function(element, index, array){ 
    document.getElementById("mac.r").innerHTML += element; 
}); 

storage.forEach(function(element, index, array){ 
    document.getElementById("mac.s").innerHTML += element; 
}); 

見這裏:http://jsfiddle.net/S3CY4/

要知道,雖然其在現代瀏覽器大多支持,它可能不會最高效的方法。