HTML 中元素的 id 属性,到底有什么作用,为什么可以直接使用

HTML标签中设置的 id 属性,到底有什么用,为什么我可以直接用 id 值来访问元素?


如下:
我在一个 textarea 上设置 id=“text”
我可以直接把 text 作为变量使用,跟document.getElementById("text") 是一样的,为什么?
那我可以在 js 中直接使用 id 值来调用元素了?
求解。

图片描述

阅读 7.4k
4 个回答

直接用id访问是旧版本js遗留下来的特性,浏览器会建立window实例的id同名属性,这是为了兼容旧的网页。

因此不要依赖这个特性,在含有特殊字符或者和window实例的其他属性有冲突时可能失效。还是用document.getElementById比较保险。

至于id的作用,其他答案也说了,就是作为元素的唯一标识,方便在js中调用,或者用CSS设置样式。

这个W3C规定的, id属性具有唯一性,可以直接访问 , 但是为了防止变量冲突,一般都需要通过document.getElementById()来获取元素。望采纳

HTML DOM主要定义了三种查找元素的方法,除了document.getElementById() 之外,还有 document.getElementsByName() 和 document.getElementsByTagName(),document.getElementById() 方法返回的是指定 ID 的第一个对象的引用。

  1. id就是html元素的身份证 => 在同一页面内具备唯一性,不能重名
  2. “身份证” 不等于 元素本身,所以理论上只是使用id值是不能拿到元素的,想获得元素引用 需采用 document.getElementById(),即通过“身份证”给我找到它!
  3. 问题中可以拿到,是因为浏览器对于id做了一层转化,将对应的对象复制给了window.id名=document.getElementById(id名)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题