I have previously mentioned in this SO about the funny behavior for IE6/7 (and some versions of Opera) in that document.getElementById
can find an element whose name
attribute is defined but not the id
attribute, such that
function f() {
document.getElementById("a1").value = ...;
}
...
<input name="a1" ...></input>
actually works in these versions.
Searching through the net I found this bug report by Chris Bloom, in which a user named Milo van der Leij points out the following (as referred by him in this w3c spec):
In their defense: "The id and name attributes share the same name space."
What does it mean that the id and name attributes share the same namespace? Why would this condition be sufficient for IE6/7/Opera implement this behavior in their JS engine?