在未悬挂的HTML元素上运行document.getElementById

时间:2014-05-14 13:48:27

标签: javascript html dom getelementbyid

我已经创建了一个相当复杂的HTMLElement,并想知道id有一种方法可以在元素被附加到DOM之前在其上运行getElementById。

我试过的是调用这样的函数:document.getElementById.call(newElement, "id");

并且像这样:Document.prototype.getElementById.call(newElement, "id");

在这两种情况下我都会收到错误Uncaught TypeError: Illegal invocation

是否有可能做到这一点或者是否可能?

注意:我在这里尝试解决JS问题,这就是为什么我不想要jQuery解决方案。

1 个答案:

答案 0 :(得分:2)

你可以做到

var yourElement = newElement.querySelector('#someId');

完整示例:

var newElement = document.createElement('div');
newElement.innerHTML="<div id=a>AA</div><span id=b>BB</span>";
console.log(newElement.querySelector('#b').innerHTML) // logs BB

注意:IE7 isn't supported