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

标签 javascript jquery html dom

<分区>

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

假设我有一个这样的隐藏输入元素:

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

所以我可以在 JavaScript 中访问它:

console.log(myInput.value);

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

我的问题是:

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

最佳答案

这称为命名访问。每个具有 an id 的元素都将在全局范围内被引用。那就是窗口对象。尽管使用它不是一个好习惯,但它已通过 HTML5 进行了标准化。

其用法的一个简单的冲突案例是,

如果您在全局范围内声明了一个变量,例如 hide,并且您的 document 中还有一个 elementid 隐藏。然后该元素引用将被我们的全局变量覆盖。届时,如果您在任何事件处理程序或某处使用它(element reference),都会导致错误。

关于javascript - HTML 元素在 JavaScript 中表示为全局变量,如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35886904/

相关文章:

javascript - 如何在javascript中重新排列数组

javascript - Uncaught ReferenceError : lat is not defined

jquery - 检测到水平 div 的末尾,并停止

javascript - JQuery设置下拉列表框选中选项-不是按值,而是按显示文本

javascript - FabricJS - 如何显示单独的旋转 handle ?

javascript - 根据复选框选择更改按钮文本

javascript - jQuery 模糊事件不起作用

javascript - 如何使用 JQuery 更改 EJS 中的单个元素

javascript - 使用奇数和偶数逻辑执行 2 次 ng-repeat 循环

javascript - 变换后的矩形坐标