我看到了一个奇怪的行为.我创造了一个Input.
<input id='inputid' value='value'/>?
Run Code Online (Sandbox Code Playgroud)
并尝试直接从id访问它.而不是抛出异常控制台显示上面的输入元素.
console.log(inputid);
Run Code Online (Sandbox Code Playgroud)
之后我试着将它与之比较 getElementById
console.log( inputid == document.getElementById('inputid'));
Run Code Online (Sandbox Code Playgroud)
控制台正在显示true.
你可以在jsfiddle上看到这种行为.
这是一种奇怪的行为还是我错过了什么?
我测试了它在Chrome 23.0.1271.10 dev-m和firefox 15.0.1.
回到4.0浏览器的时代,微软决定为每个带有id的元素创建一个全局变量,其名称与包含对该元素的引用的id同名.
在其他一些浏览器中(在某些渲染模式下)出现了对此的支持.这种支持不是通用的,因此应避免使用该功能.