插入DOM后保持对元素的引用

时间:2009-05-28 01:29:52

标签: javascript dom

我传统上使用JavaScript作为“UI胶水”,并且(令人遗憾的是)将JS视为“玩具”之一。但是,我已经改变了方向,并且在使用它时发现了一些真正的力量 - 尤其是与JSON / jQuery相结合。

我的问题涉及动态创建元素,然后将它们附加到DOM。看来,当发生这种情况时,只有对象的副本被附加到DOM,我将失去对它的引用。例如,如果我使用createElement创建一个全局对象(比如“a”),设置一些属性(“href”,“title”等),然后将它附加到DOM中,对我的全局对象的任何原始引用对附加元素没有影响。我确信我能找到刚刚插入的对象,但这似乎比应该更多的工作。我错过了什么吗?

4 个答案:

答案 0 :(得分:0)

var new_div = document.createElement('div');
new_div.id = 'foo';

编辑:重新阅读你的问题,你是说在appendChild之后new_div不起作用?我很确定它应该。你不是通过innerHTML或类似的东西添加它吗?

也许你的var超出了你试图阅读它的范围。 (即,您是在一个函数中创建它并从另一个函数中读取它?)。尝试全局声明对象。

答案 1 :(得分:0)

您原创的全球参考文献仍然可以正常使用。你想用它做什么?你有任何示例代码吗?

答案 2 :(得分:0)

您使用的是库还是包装原生DOM对象的东西?这可能是问题......

答案 3 :(得分:0)

所有对象都通过JavaScript引用传递,HTMLNodes也不例外。在为其指定不同的值之前,您的原始引用应始终有效。听起来你有一个范围问题。我们能看到代码吗?