我正在处理的一个项目必须使用 JavaScript 操作 DOM 元素。当某个特定事件触发时,我会循环遍历 DOM 并基本上创建所有节点的索引,以便以后操作它们。我创建此索引的原因还有更多,但为了简单起见,我在这里将其简化。
然而问题在于,当我们去操作 DOM 中的元素时,它看似操作的是一个单独的对象,而不是 DOM 中的实际对象。这是我能想到的一个基本示例:
<div id="container">
<div>Here is some text</div>
<div>And here is some more text</div>
</div>
<script>
var container = document.getElementById('container');
container.firstChild.innerHTML = 'Foobar';
</script>
小提琴:http: //jsfiddle.net/4Nngh/
但第一个 div 从未更改为“Foobar”。我猜当我得到“容器”元素时,我实际上得到的是一个单独的对象,而不是对 DOM 元素的引用。
是否可以简单地引用 DOM 中显示的元素并直接对其进行操作,还是必须使用某种类型的替换方法?其他事件可能会在脚本运行时更改该 DOM 元素的内容,因此我试图避免每次触发事件时都必须重新创建此索引,这就是为什么我正在寻找对元素以某种方式。
谢谢!