Path: blob/main/files/en-us/web/html/global_attributes/id/index.md
6556 views
------{{HTMLSidebar("Global_attributes")}}
The id global attribute defines an identifier (ID) which must be unique in the whole document. Its purpose is to identify the element when linking (using a fragment identifier), scripting, or styling (with {{glossary("CSS")}}).
{{EmbedInteractiveExample("pages/tabbed/attribute-id.html","tabbed-shorter")}}
Warning: This attribute's value is an opaque string: this means that web authors should not rely on it to convey human-readable information (although having your IDs somewhat human-readable can be useful for code comprehension, e.g. consider
ticket-18659versusr45tgfe-freds&$@).
id's value must not contain {{glossary("whitespace")}} (spaces, tabs etc.). Browsers treat non-conforming IDs that contain whitespace as if the whitespace is part of the ID. In contrast to the {{htmlattrxref("class")}} attribute, which allows space-separated values, elements can only have one single ID value.
Note: Technically, the value for an
idattribute may contain any character, except {{glossary("whitespace")}} characters. However, to avoid inadvertent errors, only {{glossary("ASCII")}} letters, digits,'_', and'-'should be used and the value for anidattribute should start with a letter. For example,.has a special meaning in CSS (it acts as a class selector). Unless you are careful to escape it in the CSS, it won't be recognized as part of the value of anidattribute. It is easy to forget to do this, resulting in bugs in your code that could be hard to detect.
Specifications
{{Specifications}}
Browser compatibility
{{Compat}}
See also
All global attributes.
{{domxref("Element.id")}} that reflects this attribute.
The {{domxref("Document.getElementById")}} method.
CSS ID selectors.