Needed to know if an HTML element can have multiple attributes of ID's, for instance :
<input type="text" id="identifier1" id="selector1" />
As I needed to clarify this statement mentioned about selectors at W3 website.
If an element has multiple ID attributes, all of them must be treated as IDs for that element for the purposes of the ID selector. Such a situation could be reached using mixtures of xml:id, DOM3 Core, XML DTDs, and namespace-specific knowledge.
The Possible duplicates which people are referring, states question for this syntax
<input type="text" id="identifier1 selector1" />
which is different than syntax that I am asking.
No, because an attribute must not be repeated in tag. This is a general rule in HTML, not limited to the
id
attribute. For nominally SGML-based versions of HTML and for XHTML, this follows from general SGML and XML rules. For HTML serialized HTML5, see HTML5 CR, 8.1.2.3 Attributes.It’s difficult to see why you would use duplicate
id
attributes, so I can’t suggest a workaround. In general, for any normal use of theid
attribute, one attribute per element is sufficient.Short answer? No because the browser will only render the first one.
See this Fiddle, I can only target it in CSS using the first
id
that appears in the DOM. Try changing that CSS selector to use the secondid
, it won't work.That's because it seems like the second ID is being disregarded by the browser, as this is the output HTML:
If you really need additional identifiers on an element, you should think about using either multiple class names or data attributes to correspond to additional data.
No. No element in HTML may have more then one instance of a given attribute.
Note the last sentence in that statement.
Also note that the CSS idea of an "ID attribute" is not "An attribute with the name
id
". Also quoting from that document:Only the
id
attribute is an ID type in HTML.No. Element IDs should be unique within the entire document.
No, even if you specify multiple ids, the first encountered id attribute is used.
Possible duplicates :
Can an html element have multiple ids?
No ID can not be same for html elements, but the Classes are to use for multiple elements, and one element may have multiple classes