HTML元素在JavaScript中表示为全局变量,如何?

时间:2016-03-09 08:52:28

标签: javascript jquery html dom

JavaScript是否将每个HTML元素表示为全局变量,该名称是元素的id?

我们说我有一个隐藏的输入元素:

<input type="hidden" value="10" id="myInput" />

所以我可以用JavaScript访问它:

console.log(myInput.value);

我在chrome和firefox中试过它,它对我有用。

我的问题是:

  • 这个问题在JavaScript中是新的吗?
  • 通过id获取元素是最佳做法吗?
  • 为什么他们实现此功能虽然使用全局变量不是最佳做法?

1 个答案:

答案 0 :(得分:4)

称为named access。每个具有an id的元素都将在全局范围内引用。那是window object。尽管使用它并不是一个好习惯,但它标准化为HTML5

使用它的一个简单的冲突案例是,

如果您在hide等全局范围内声明变量,并且element中的document id hide global variable。然后我们的element将覆盖该元素引用。那时,如果你在任何事件处理程序或某个地方使用它(android:adjustViewBounds="true"引用),它将导致错误。