#foo wird dabei als *[id="foo"] interpretiert.
Kann man so nicht sagen.
Doch. Kann man schon. Wenn man die Aussage nicht dem Kontext entreißt und missversteht.
.bar
und*[class="bar"]
sind äquivalent;#foo
und*[id="foo"]
aber nicht, sie unterscheiden sich in der Spezifität.
Ich habe nicht behauptet, dass diese beiden Selektoren äquivalent seien. Ich habe diesen Vergleich lediglich gezogen, um das beobachtete Verhalten, das faktisch fehlertolerante Matching des ID-Selektors, zu erklären.
Mathias