我注意到当我尝试从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代码。这是corect:
var text = document.getElementById('here').innerHTML;
document.getElementById('here').innerHTML = "New text";
alert(text); // returns "Old text"
请注意,此处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
希望这可以帮助。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句