鍍金池/ 問答/HTML/ HTML 中元素的 id 屬性,到底有什么作用,為什么可以直接使用

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

HTML標(biāo)簽中設(shè)置的 id 屬性,到底有什么用,為什么我可以直接用 id 值來訪問元素?


如下:
我在一個(gè) textarea 上設(shè)置 id=“text”
我可以直接把 text 作為變量使用,跟document.getElementById("text") 是一樣的,為什么?
那我可以在 js 中直接使用 id 值來調(diào)用元素了?
求解。

圖片描述

回答
編輯回答
神曲
  1. id就是html元素的身份證 => 在同一頁面內(nèi)具備唯一性,不能重名
  2. “身份證” 不等于 元素本身,所以理論上只是使用id值是不能拿到元素的,想獲得元素引用 需采用 document.getElementById(),即通過“身份證”給我找到它!
  3. 問題中可以拿到,是因?yàn)闉g覽器對(duì)于id做了一層轉(zhuǎn)化,將對(duì)應(yīng)的對(duì)象復(fù)制給了window.id名=document.getElementById(id名)
2017年6月29日 04:02
編輯回答
菊外人

HTML DOM主要定義了三種查找元素的方法,除了document.getElementById() 之外,還有 document.getElementsByName() 和 document.getElementsByTagName(),document.getElementById() 方法返回的是指定 ID 的第一個(gè)對(duì)象的引用。

2018年7月30日 19:22
編輯回答
九年囚

直接用id訪問是舊版本js遺留下來的特性,瀏覽器會(huì)建立window實(shí)例的id同名屬性,這是為了兼容舊的網(wǎng)頁。

因此不要依賴這個(gè)特性,在含有特殊字符或者和window實(shí)例的其他屬性有沖突時(shí)可能失效。還是用document.getElementById比較保險(xiǎn)。

至于id的作用,其他答案也說了,就是作為元素的唯一標(biāo)識(shí),方便在js中調(diào)用,或者用CSS設(shè)置樣式。

2017年2月10日 09:21
編輯回答
伴謊

這個(gè)W3C規(guī)定的, id屬性具有唯一性,可以直接訪問 , 但是為了防止變量沖突,一般都需要通過document.getElementById()來獲取元素。望采納

2018年4月22日 06:39