1

我正在做ajax。在某个时刻,我分配someproperty给由 id 选择的 DOM 对象(假设它是12345),并且我确认该值已通过使用分配alert()

window.document.getElementById('12345').someproperty = true;
alert(window.document.getElementById('12345').someproperty);

此时,警报正确显示true。然后,在稍后的某个时间点,我调用了一个 javascript 命令来查找someproperty对象的值:

alert(window.document.getElementById('12345').someproperty);

而这一次,它显示undefined。为什么没有定义值?

4

1 回答 1

1

我有一种感觉,您在.innerHTML查找.someproperty.

分配给.innerHTML会破坏当前的 DOM,并将其替换为通过解析您提供的 HTML 字符串获得的新 DOM。所以我猜你正在破坏整个部分,并用几乎相同的新部分替换它。这自然会清除原始 DOM 中的状态信息。

您应该修改需要更新的单个 DOM 元素,而不是使用.innerHTML.

于 2012-11-21T17:02:25.777 回答