2013-04-10 3 views
1
var div = document.createElement("tempdiv"); 
div.innerHTML = "<html><body><div id='test'>Hello World!</div></body></html>"; 
alert(div.getElementById("test").innerHTML); 

Я получаю ошибку "Uncaught TypeError: #HTMLUnknownElement объект не имеет метод 'getElementById'"Почему это не отображает сообщение «Привет, мир!»?

+2

@DavidNorgren - Есть хорошие ресурсы на JS и DOM доступны в Интернете. Я предлагаю вам прочитать пару из них, и вышеупомянутое должно, естественно, встать на свои места. – techfoobar

ответ

0

Элементы, отсутствующие в документе, не выполняются getElementById. При создании элемента и присваивании ему идентификатора вам необходимо вставить элемент в дерево документа с помощью метода insertBefore или аналогичного метода, прежде чем вы сможете получить доступ к нему с помощью getElementById.

Ref: https://developer.mozilla.org/en-US/docs/DOM/document.getElementById

Пример:

var div = document.createElement("div"); 
document.body.appendChild(div); 
div.innerHTML = "<div id='test'>Hello World!</div>"; 
console.log(document.getElementById("test")); 
1

Метод getElementById существует только на объекте документа. Он не поддерживается отдельными элементами DOM. Если вы хотите добавить элемент в DOM, вы можете позвонить document.getElementById("test").innerHTML;, чтобы получить текст.

0

Не забудьте установить Id в к создаваемым делам до быть в состоянии выбрать:

var div = document.createElement("div"); 
div.setAttribute('id', 'idName'); 
div.innerHTML = "<html><body><div id='test'>Hello World!</div></body></html>"; 
Смежные вопросы