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