2016-03-16 2 views
-3

Все, что я хочу сделать, это вызвать переменную FOR внутри моего цикла. Но по какой-то причине не работает ...Использовать переменную внутри цикла FOR

HTML

<span id="1"></span> 
<span id="2"></span> 
<span id="3"></span> 

JAVASCRIPT

for (j = 0; j < 3; j++) { 
    var product = j; 
    document.getElementById(product).innerHTML = "blah"; 
} 

https://jsfiddle.net/cq47eo1c/

+0

нужен document.ready или что-то. он работает до того, как вмещается дом. – Nikki9696

+1

Что значит вы хотите «позвонить»? –

+8

Вы начинаете свой цикл в 0 и нет элемента с этим идентификатором. Вы также выполняете свой код слишком рано на скрипке. – j08691

ответ

1

Проблема заключается в том, что вы пытаетесь найти элемент с идентификатором 0, и его не существует, поэтому ошибки вашего скрипта возникают при попытке получить доступ к свойству innerHTML null (то, что было возвращено th e звонок document.getElementById(0)). Dev tools - твой друг, всегда ищи сообщения об ошибках.

Uncaught TypeError: Cannot set property 'innerHTML' of null

for (j = 1; j <= 3; j++) { 
 
    var product = j; 
 
    document.getElementById(product).innerHTML = "blah"; 
 
}
<span id="1"></span> 
 
<span id="2"></span> 
 
<span id="3"></span>

https://jsfiddle.net/cq47eo1c/

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