Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML元素在JavaScript中表示为全局变量,如何表示?_Javascript_Jquery_Html_Dom - Fatal编程技术网

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

HTML元素在JavaScript中表示为全局变量,如何表示?,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,JavaScript是否将每个HTML元素表示为一个全局变量,该变量的名称是元素的id 假设我有一个隐藏的输入元素,如下所示: <input type="hidden" value="10" id="myInput" /> 我在chrome和firefox上试用过,它对我很有效 我的问题是: 这个问题在JavaScript中是新问题吗 按id获取元素是最佳做法吗 尽管使用全局变量不是最佳实践,但为什么它们实现此功能 称为命名访问。具有id的每个元素都将在全局范围内引用。这是窗口对

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

假设我有一个隐藏的输入元素,如下所示:

<input type="hidden" value="10" id="myInput" />
我在chrome和firefox上试用过,它对我很有效

我的问题是:

  • 这个问题在JavaScript中是新问题吗
  • 按id获取元素是最佳做法吗
  • 尽管使用全局变量不是最佳实践,但为什么它们实现此功能

    • 称为
      命名访问
      。具有
      id的每个元素都将在全局范围内引用。这是
      窗口对象
      。尽管使用它不是一个好的实践,但它是用
      HTML5
      标准化的

      它的用法有一个简单的相互矛盾的例子:

      如果您在全局范围内声明了一个变量,如
      隐藏
      ,并且在
      文档中有一个
      元素
      ,其id为
      隐藏
      。然后该元素引用将被我们的
      全局变量
      覆盖。此时,如果在任何事件处理程序或其他地方使用它(
      element
      reference),将导致错误

      console.log(myInput.value);