簡體   English   中英

為什么它沒有顯示消息“ Hello world!”?

[英]Why does this not show the message “Hello world!”?

var div = document.createElement("tempdiv");
div.innerHTML = "<html><body><div id='test'>Hello World!</div></body></html>";
alert(div.getElementById("test").innerHTML);

我收到錯誤“ 未捕獲的TypeError:對象#HTMLUnknownElement沒有方法'getElementById'

getElementById方法僅存在於文檔對象上。 單個DOM元素不支持它。 如果要將元素添加到DOM,則可以調用document.getElementById("test").innerHTML; 得到您的文本。

getElementById不會搜索文檔中未包含的元素。 創建元素並為其分配ID時,必須先使用insertBefore或類似方法將元素插入文檔樹中,然后才能使用getElementById訪問它。

參考: https : //developer.mozilla.org/zh-CN/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"));

不要忘記為創建的div設置ID,以便選擇:

var div = document.createElement("div");
div.setAttribute('id', 'idName');
div.innerHTML = "<html><body><div id='test'>Hello World!</div></body></html>";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM