2012-05-09 1 views
1

Прежде всего: я не очень хорошо разбираюсь в javascript. Так что проблема с методом appendChild. Это мой код:appendChild не работает

var wrapper = document.getElementsByClassName('innerWrap'); 
var post = document.createElement('input'); 
post.style.position = "absolute"; 
post.style.top = "100px"; 
document.wrapper.appendChild(post); 

Почему это не работает?

Заранее благодарен!

+0

вы можете попробовать wrapper.appendChild (должность); ? –

ответ

0

Вы пробовали

wrapper.appendChild(post); 

вместо

document.wrapper.appendChild(post); 

?

+0

Это не имеет значения, так как 'wrapper' является переменной на объекте документа. –

+0

Это переменная объекта окна, а не документа. – zvona

6

getElementsByClassName возвращает NodeList, а не узел

Таким образом, вы можете попробовать var wrapper = document.getElementsByClassName('innerWrap')[0];

+0

Следовательно, множественное число в 'getElementsByClassName'. :) –

+0

Я заменил getElementsByClassName с помощью getElementById, чтобы протестировать его с другим объектом (только для трейла), но я все равно получаю сообщение об ошибке «uncaught typeerror не может вызывать метод appendChild неопределенного». –

+0

Что возвращает 'getElementById'? Вы пробовали 'console.log()' на нем? Возможно, JavaScript выполняется до того, как DOM готов – paulslater19