[英]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.