似乎是一个非常简单的问题,但无论我在哪里搜索,我都无法找到一个可靠的答案=(这可能是一个明显的答案,但它确实困扰我,直到我可以肯定。
我有这个:
someDiv.innerHTML = "Some <span style='color:red'>" + var + "</span> text from variable";
但是稍后当用户更改某些内容时,它可能不需要变量,因此它会转换为:
someDiv.innerHTML = "A simple sentence";
所以我的问题是,上一个跨度是否会自动删除?我不必担心<span>'s
大量的{{1}}在某个地方永远不会被听到或再次看到? =)
感谢您清除我的任何疑惑,并提前抱歉为此遇到了麻烦。再次感谢您的帮助。
答案 0 :(得分:7)
将字符串分配给innerHTML会完全删除DOM元素的旧内容。所以答案是肯定的!当你提到的跨度从DOM树中删除时,它们的内存占用留给浏览器的垃圾收集器,你不应该担心它们。