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

我得到的錯誤「遺漏的類型錯誤:對象#HTMLUnknownElement沒有法‘的getElementById’爲什麼不顯示消息「Hello world!」?

+2

@DavidNorgren - 有在線提供JS和DOM上的良好資源。我建議你閱讀其中的一些,上面的內容應該自然落到位。 – techfoobar 2013-04-10 14:10:37

回答

0

不在文檔中的元素不被getElementById搜索。在創建元素併爲其分配ID時,必須先使用insertBefore或類似的方法將元素插入到文檔樹中,然後才能通過getElementById訪問該元素。

編號: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>"; 
相關問題