繁体   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