Interessant der deutliche Unterschied zwischen jQuery und der DOM-Methode. Wasser auf Klawischniggs Mühlen. ;-)
Das ist bekannt, aber nicht als Argument für irgendetwas brauchbar. $('#foo') ist nicht äquivalent zu getElementById('foo'). Ersteres prüft z.B., ob das zurückgelieferte Element auch tatsächlich eine solche ID hat. Klingt dumm, aber ältere IEs und Operas liefern gerne Elemente mit dem angegebenen Namen zurück (wie es document.all getan hat).
https://github.com/jquery/jquery/blob/master/src/core.js#L144
Cross-Browser-Kompatibilität ist nicht so einfach, wie man denkt. Natürlich reicht ein getElementById völlig - wenn man von ganz spezifischen neueren Browsern im Standard-Modus ausgeht und gerade die Use-Cases testet, die in der gegenwärtig entwickelten Software aktuell vorkommen. Das tun Bibliotheken wie jQuery nicht. Deshalb sind sie robuster, aber auch langsamer als Low-Level-Operationen.
Mathias