7

似乎是一个非常简单的问题,但无论我在哪里搜索,我都找不到可靠的答案=(这可能是一个显而易见的答案,但它只会困扰我,直到我可以确定为止。

我有这个:

someDiv.innerHTML = "Some <span style='color:red'>" + var + "</span> text from variable";

但是稍后当用户更改某些内容时,它可能不需要该变量,因此它转换为:

someDiv.innerHTML = "A simple sentence";

所以我的问题是,以前的跨度会自动删除吗?我不必担心有很多<span>'s地方再也不会被听到或看到?=)

感谢您为我消除任何困惑,并为给您带来的麻烦提前表示歉意。再次感谢任何帮助。

4

1 回答 1

7

将字符串分配给 innerHTML 会完全删除 DOM 元素的旧内容。所以答案是肯定的!当您提到的跨度从 DOM 树中删除时,它们的内存占用留给浏览器的垃圾收集器,您不必担心它们。

于 2013-09-05T06:17:05.083 回答