2015-01-08 1 views
0

Итак, у меня есть скрипт для создания снежинок, и все работает нормально. Я собираюсь для сырого javascript здесь. Нет jquery вообще. Поэтому я хочу просто запустить скрипт, и он создает свои собственные классы и назначает их без ранее сделанного стиля. Поэтому я создаю элемент, а затем пытаюсь добавить его в тело, но он говорит, что элемент имеет значение null.Uncaught Type Ошибка для создания пустого div в JS

...

<script> 
    this.elem = document.createElement('div'); 
    document.getElementById('body').appendChild(this.elem);       //appending flake to body 
</script> 

...

это дает ошибку.

+0

У вас есть элемент с идентификатором «тела»? –

+0

нет, но я не поставил хэштег, так что это не правильная ссылка на тело? Он работал раньше, когда у меня были селектора jquery, но теперь я не могу выбрать созданный элемент или ссылаться на него. this.elem, очевидно, возвращает объект div, который не может быть добавлен –

+0

Нет, в jQuery требуется значение «#» для выбора элемента с определенным идентификатором. Но javascript не следует этому синтаксису. Когда вы говорите document.getElementById ('body'), это означает, что он выберет элемент с и id 'body'. Вот почему ваш код дает ошибку, потому что он не может найти элемент. –

ответ

1

Вы должны использовать getElementsByTagName:

document.getElementsByTagName('body')[0].appendChild(this.elem); 

если вы пытаетесь добавить в <body></body>

+0

работает, но нуждается в [0] после тела спасибо: D –

+0

о, да конечно ..... –

0

Вы можете достичь его, изменив HTML разметку на это;

<body id="body"> 
</body> 

Тот же код будет работать нормально.

Working Fiddle

Если вы не хотите, чтобы изменить HTML разметку вы можете достичь его getElementsByTagName, как ответил @Bhojendra

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