2014-02-12 3 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

Смежные вопросы