Question:
In Javascript, accessing elements by their IDs using the dot notation (a.method()) works globally in Chrome, but not in Firefox. What is the correct behavior according to web specifications? Additionally, how does Chrome handle ID ambiguities and special characters in ID translation?
Answer:
The behavior regarding global access to element IDs varies depending on the specification being consulted.
Browsers have historically adopted this behavior for compatibility, with Internet Explorer initially introducing it. Firefox also supports it in quirks mode.
Correct Behavior:
According to the WHATWG HTML spec, elements with IDs should be accessible globally. However, it's generally considered poor practice to rely on the global namespace for element referencing.
Ambiguity Handling in Chrome:
Chrome currently does not handle ambiguities between global variables and element IDs well. If an element with the same ID as a global variable exists, accessing that element via the global variable may lead to unexpected behavior.
ID Translation with Special Characters:
Special characters in IDs can be accessed using the getElementById() method. However, the translation of these characters into the global variable representation is not explicitly defined in any specification.
The above is the detailed content of Why Does Global Element ID Access in JavaScript Differ Between Browsers, and What\'s the Standard?. For more information, please follow other related articles on the PHP Chinese website!