2015-08-14 2 views
0

У меня есть задание в моей школе, чтобы написать DOM веб-страницы при выполнении JavaScript. Мы получили задание на бумаге, и когда я попытался написать его на возвышенном и запустить его, код не будет работать. Я думаю, что проблема по следующим направлениям:Javascript createTextNode не работает

tdTextNodeRef=document.createTextNode(codeNodeRefs[counter].innerHTML); 
     tdNodeRef.appendChild(tdTextNodeRef); 

Полный код можно найти здесь: https://github.com/Nirakander/JS-assignment

Почему не будет работать? Действительно плохое назначение, когда код даже не работает. Заранее спасибо!

+0

Почему вы думаете, что это не работает? Существует также 'tableNodeRef.appendChild (trNodeRef);', который не нравится IE, поскольку он хочет добавить строки в * tbody *, а не непосредственно в таблицу. – RobG

+0

Консоль говорит: «Невозможно прочитать свойство« innerHTML »неопределенного», поэтому я думаю, что это проблема. Что ты имеешь в виду? Когда я запускаю код, похоже, что tableNodeRef добавляет tr к таблице? – Nirakander

ответ

2

Ваша ошибка здесь:

for(var counter=0; counter<codeNodeRefs.length; counter++);{ 
----------------------------------------------------------^ 

Это дополнительный точка с запятой заканчивается, если заявление с пустым блоком, следующий блок рассматривается как только блок операторов. Таким образом, он дважды зацикливается, ничего не делает, затем переходит в блок.

При входе в этот блок, граф является codeNodeRefs.length (т.е. 2), так что codeNodeRefs [счетчик] возвращает неопределенным.

Просто удалите точку с запятой.

+0

Спасибо! Это решило проблему. – Nirakander

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