id
一个简单的问题:如果没有它们也能很好地工作,我们为什么要把它们添加到我们的 HTML 标签中?我知道它们的用途之一是能够通过主题标签 ( #
) 浏览页面,但它们还有其他用途吗?
9 回答
id
HTML 中属性的使用
- 作为 URL 上片段标识符的目标。
- 作为
for
属性<label>
和<output>
元素的表单控件的目标。 - 作为表单关联元素上
<form>
的属性的元素上的目标。form
itemref
通过微数据属性作为元素引用的目标。- 作为通过某些 ARIA 属性(包括
aria-describedby
,aria-labelledby
和其他 4 个)进行元素引用的目标。 - 作为
<th>
元素上的对象,其headers
属性为 on<td>
和<th>
元素。 - 作为属性
<menu>
元素的目标。contextmenu
- 作为
<datalist>
元素上的list
属性的目标<input>
元素。 - 作为和元素上
<map>
的usemap
属性的元素的哈希名称引用的一部分。<img>
<object>
- 作为 CSS 选择器中元素的标识符
- 作为用于 JavaScript 处理的元素的标识符
它们最常用于唯一标识样式(CSS)和脚本(JavaScript 等)目的的元素。
但是,如果您要询问 HTML 并且仅询问 HTML,那么声明性 ID 有用的一个示例是将 a<label>
与其关联<input>
,<button>
或<textarea>
通过其for
属性进行控制:
<label for="ex">Example field:</label>
<input type="text" name="ex" id="ex">
for
如果不指定此属性,则激活标签不会执行任何操作,但是当您使用and将两个元素配对在一起时id
,激活标签会导致其控件获得焦点。
将表单标签与其控件关联的另一种方法是将其包含在标签中:
<label>
Example field:
<input type="text" name="ex">
</label>
但这并不总是适合表单或页面的结构,因此提供了 ID 参考作为替代方案。
Alohci 的回答id
中广泛涵盖了属性服务于功能的其他情况。
您可以使用 ID 从 javascript、CSS 和 jquery 访问您的 div。如果您不使用 ID,那么您将很难通过 JS 与 HTML 页面进行交互。
AFAIK,它们用于唯一地引用标签。并使您更容易引用标签。
ID 用于访问 CSS 和 JavaScript 中的元素。严格来说,ID 应该唯一地标识一个元素。您还可以使用类属性来识别元素组。
id 属性为文档中的元素提供唯一标识符。a 元素可以使用它来创建指向该特定元素的超链接。
此标识符也可以在 CSS 代码中用作可用于样式目的的钩子,或由 JavaScript 代码(通过文档对象模型或 DOM)通过引用其唯一 ID 来对元素进行更改或添加行为。
见http://reference.sitepoint.com/html/core-attributes/id
有关课程的更多信息,请参见此处:http ://reference.sitepoint.com/html/core-attributes/class
它可以帮助您在 java-script 代码中识别您的元素。java-script 中的 getElementByID 函数为您提供具有特定 ID 的元素的句柄。就像这样。
var someElement = document.getelementById("someID");
// do whatever with someElement;
我自己也更喜欢class
通过 CSS 进行样式设置,但有时你需要一个元素是独一无二的。出于可访问性的原因,您使用属性id
来输入元素以将其“连接”label
到它for
。对于 Javascript,如果元素具有id
属性,则选择它要简单得多。
我为我的 HTML 元素使用 id 的主要原因是它们的选择速度更快,在带有类的 JavascriptgetElementById
和 CSS 中也是如此#id
。
当然,我并不是说这总是一个好主意,尤其是在 CSS 中,基于 id 的类会导致大量冗余,这只是原因之一
首先,仅在需要使用 ID 时添加 ID。在大多数情况下,id 用于执行其他操作,例如:
- 脚本参考,选择要应用脚本的元素,
- 样式表选择器,为样式选择元素
- 用于链接的命名锚点,这就是你所说的页面导航
所以很简单,因为在大多数情况下,您会想要对任何标签中的内容或对您的内容做一些事情,所以最好放置一个标识符,即 id 属性。