2016-09-16 8 views
2

Я новичок в javascript, и я об этом узнал. При этом я столкнулся с этой проблемой, которую я не могу понять, и я здесь для вашей помощи.document.getElementById на холсте return null

Это страница, что я был, http://www.w3schools.com/html/tryit.asp?filename=tryhtml5_canvas_empty

Теперь, когда я бегу следующий на консоли (поджигатель) он возвращается нуль.

Почему я не получаю ожидаемый результат здесь?

+1

Эта страница использует в IFRAME для хранения образца документа. Ваша консоль смотрела на главной странице. – Barmar

+0

@Barmar Спасибо! Я бы не подумал об этом сам. –

+1

Большинство devtools позволяют вам выбрать, в каком iframe вы хотите запустить код. – Oriol

ответ

0

DOM уже загружен, когда вызывается функция draw-function.

Но var canvas = document.getElementById ('control'); - строка оценивается до этого, потому что она не находится в функции draw. Он выполняется немедленно в документе перед тем, как элементы были визуализированы.

Я хотел бы предложить вам изменить функцию инициализации что-то вроде этого

var canvas = document.getElementById('myCanvas'); 
var context = canvas.getContext('2d'); 
Смежные вопросы