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

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

最佳答案

(除了我在上面的注释中提到的错别字),您正在循环中覆盖c,这是导致问题的原因。更改:

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




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


jsFiddle example

10-01 00:35
查看更多