2013-04-10 64 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>"; 
相关问题