我是 javascript 新手,所以在学习时我发现具有某些 id 的元素可用,就像
html部分
<canvas id="someid"><canvas>
js部分
someid.someProperty = something; // works as well as getElementById('someid')
但在所有教程中我发现它被告知使用 getElementById。 播种一种或另一种方法有什么好处?我应该选择哪种方式? 在 Firefox、Opera、DWB 和 geany 内部浏览器(webkit)中进行了检查。
最佳答案
在所有情况下都使用document.getElementById("whatever")
。以下是一些相关问题:
使用自动全局变量存在以下问题:
- 不是标准定义的行为
- 并非所有浏览器都支持
- 容易受到全局命名空间冲突的影响
- 某些名称属性(但不是全部)可以这样使用
- ID 和名称之间可能存在冲突
- 代码的可读性较差,因为读者必须弄清楚您是否使用了之前已放入值的全局变量,或者这是否是自动定义的变量。
使用document.getElementById()
:
- 受标准支持
- 所有浏览器都支持
- 不依赖任何全局变量
- 所有用途中的行为都明确
关于Javascript DOM 元素通过 id 访问而不使用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21369731/