2014-02-12 95 views
1

此代码显示左侧数组中的所有数字,中间的奇数和右侧的偶数,但div中心不接受这些值。检查它并调试大约半小时,没有任何事情。用于输入左侧和右侧数据的代码是相同的,但对于中心它不起作用。当通过控制台中心检查时,存储的值就像左侧和右侧一样,但无法将存储的值插入到div中。任何帮助将不胜感激。无法使用innerHTML输入数据

<style> 
     #left{ 
      width : 30%; 
      float: left; 
     } 
     #right{ 
      width: 30%; 
      float: left; 
     } 
     #center{ 
      width: 30%; 
      float: left; 
     } 
    </style> 
</head> 
<body> 

    <div id = "left"></div> 
    <div id = "right"></div> 
    <div id = "center"></div> 

    <script> 
    var mya = new Array(50); 

    var l = document.getElementById("left"); 
    var r = document.getElementById("right"); 
    var c = document.getElementById("center"); 

    var left = ''; 
    var right = ''; 
    var center = ''; 

    for(var c = 0;c<mya.length;c++){ 
     mya[c] = parseInt(Math.random() * 100); 
     left+="<li>" + mya[c] +"</li>"; 
     if (mya[c]%2){right+="<li>" + mya[c] +"</li>";} 
     else{center+="<li>" + mya[c] +"</li>";} 
    } 

    l.innerHTML+="<ul>" + left + "</ul>"; 
    r.innerHTML+="<ul>" + right + "</ul>"; 
    c.innerHTML+="<ul>" + center + "</ul>"; 

    </script> 
</body> 
+2

这错字只是在问题'c.inerHTML + = “

    ”+中心+“
”;'? – j08691

+0

c.innerHTML + =“

    ”+ center +“
”; –

+0

http://jsfiddle.net/J8su5/2/ –

回答

4

(除了我在评论中所指出上面的错字)你覆盖在你的循环c而这导致了问题。变化:

var c = document.getElementById("center"); 
// and 
c.inerHTML 

var ctr = document.getElementById("center"); 
// and 
ctr.innerHTML 

jsFiddle example

+0

虽然你完全正确,但我认为改变循环内部的'var c'并将剩下的格式保持原样。循环变量不需要是c而是它的混淆和误导。 – leigero

+1

@leigero - 这很好,但底线是变量名称的重复是导致问题的原因。 – j08691

+0

谢谢,它总是最简单的事情,我似乎错过了。 – Vidura