2014-04-25 35 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/

要知道,虽然其在现代浏览器大多支持,它可能不会最高效的方法。