I just stumbled upon an unexpected but useful behavior in the browser: It creates a variable for every element that has an ID in my html code. So when I have: <div id="ohlala"> ... </div>the browser seem to run this code behind the scene: var ohlala = document.getElementById("ohlala");so I can easily change the text of that element by: ohlala.innerHTML="test"Try it online: http://jsfiddle.net/Facby/问题是:为什么我需要自己写document.getElementById()位?该代码的可移植性如何?我在Opera,FireFox和Chrome中尝试过,并且可以正常工作!我可以依靠此功能吗?浏览器是否总是为每个具有id的元素创建变量?在那种情况下,我必须更加小心我的javascript代码中使用的名称,以免与HTML中的相似ID冲突,对吗? 最佳答案 当创建带有ID的元素时,“窗口”对象会接收特定的属性,这就是为什么您可以直接使用变量的原因,不建议使用此行为,通常这样编写:window.ohlala.innerHTML = "...",浏览器会保留此行为,以与某些旧代码兼容在网站上,但不建议在现代网站上使用它,请始终使用.getElementById()方法,该方法是W3C标准的一部分,您可以在所有现代浏览器中使用它,在某些非常旧的浏览器版本和https://developer.mozilla.org/en-US/docs/DOM关于javascript - 我真的需要调用getElementById()吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12510399/ 10-08 23:08