我可以在JavaScript中使用HTML元素的id作为变量吗?

参见英文答案 > Do DOM tree elements with ids become global variables?                                    4个
无意中,我注意到我可以在JavaScript代码中使用HTML元素的id.所以不是这样的:

var myCanvas = document.getElementById('myCanvas');
myCanvas.width = '600';
myCanvas.height = '400';

我甚至可能根本没有第一行,因为变量myCanvas显然已经存在!

myCanvas.width = '600';
myCanvas.height = '400';

这很好,但我能依靠它吗?这是我在所有现代浏览器中可以预期的正常行为吗?我不关心IE9之前的任何浏览器.

在浏览器脚本编写的早期,IE将ID和NAME属性值作为引用相关元素的全局对象的属性.这被广泛认为是“坏事”,但被大多数其他浏览器复制以便与IE兼容(当时大多数网站几乎专门为IE编写,其用户份额约为95%).

然后是开放标准和协同努力来支持他们.现在没有任何有意义的人使用它,尽管它仍然可能被所有正在使用的浏览器所支持.

请注意,声明的同名全局变量优先于同名或ID’d元素.

https://stackoverflow.com/questions/19776533/can-i-use-the-id-of-an-html-element-as-a-variable-in-javascript

转载注明原文:我可以在JavaScript中使用HTML元素的id作为变量吗?