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

我收到错误“ Uncaught TypeError: Object #HTMLUnknownElement has no method 'getElementById'

4

3 回答 3

1

getElementById方法仅存在于文档对象上。单个 DOM 元素不支持它。如果要将元素添加到 DOM,则可以调用document.getElementById("test").innerHTML;以获取文本。

于 2013-04-10T14:12:49.560 回答
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"));
于 2013-04-10T14:15:58.137 回答
0

不要忘记在创建的 div 中设置一个 Id 以便能够选择:

var div = document.createElement("div");
div.setAttribute('id', 'idName');
div.innerHTML = "<html><body><div id='test'>Hello World!</div></body></html>";
于 2013-04-10T14:40:33.837 回答