我注意到当我尝试从div获取新内容时,浏览器会返回div的旧内容。
<div id="here">Old text</div>
<script>
document.getElementById('here').innerHTML = "New text";
</script>
现在div文本已更改:
<div id="here">New text</div>
但是当我尝试提醒div的innerHTML时,我得到了旧文本。 你能告诉我为什么,我怎么能得到新的文本?
修改
对不起,我提供了错误的javascript代码。这是核心:
var text = document.getElementById('here').innerHTML;
document.getElementById('here').innerHTML = "New text";
alert(text); // returns "Old text"
答案 0 :(得分:1)
请注意,text
不是innerHTML
#here
属性的实时引用。这是一次性的任务,不会自己保持最新状态。您需要重新分配新值,或直接提醒innerHTML
属性:
var text = document.getElementById('here').innerHTML;
document.getElementById('here').innerHTML = "New text";
alert(text);
让我们看看另一种方法:
var here = document.getElementById( "here" ); // This is a reference
here.innerHTML = "New Text";
alert( here.innerHTML ); // This will always be the actual contents
希望这有帮助。