动态DOM元素无法访问?

时间:2012-10-02 23:08:21

标签: javascript

我可以使用调试检查器看到ID为Foo的DOM元素。

此DOM元素由我无权访问的脚本动态插入。

因此,当您执行View-> Source。时,您无法看到它。

当我尝试使用

访问元素时

document.getElementById('Foo'),它返回一个空的b.c.它无法找到它。

也在调试控制台中验证了这一点。

是否可以获取动态插入的元素?

我问b.c.我想删除节点。

1 个答案:

答案 0 :(得分:3)

是的,你可以:

function addElement() {
    var foo = document.createElement('p');
    foo.id = "bar";
    document.body.appendChild(foo);
}
function getElement() {
    alert(document.getElementById('bar'));
}    

addElement();
getElement();

另见a live demo of this

为什么你的例子不起作用很难说,因为你还没有提供任何细节。

猜测,您看到的元素位于iframe中的不同文档中,在这种情况下,您需要access the document in the iframe才能调用getElementById。当然,这取决于the same origin policy。