Moin Moin,
ich vertraue dem folgenden Mozilla Artikel: https://developer.mozilla.org/en/Writing_Efficient_CSS
Dort steht drin, dass CSS-Selektoren von rechts nach links abgearbeitet werden. dh. bei div#foo wird erst nach dem Element mit der ID foo gesucht und dann überprüft, ob es ein div ist. Da IDs per Definition einzigartig sind, reicht #foo vollkommen aus.
Wie jQuery bzw Sizzle das händelt ist mir leider unbekannt. Allerdings würde ich auch hier sagen, weniger ist mehr.
Zu guter Letzt ist div#foo schlechter Stil. Schließlich sind IDs dazu da um ein Element eindeutig zu identifizieren. Wenn ich einen Dieb an Hand eines Fingerabdruckes( einzigartig) ermittelt habe, muss ich ja auch nicht extra prüfen, ob er auf die Beschreibung eines mittelgroßen dunkelblonden Mannes mit weiblicher Statur zutrifft.
Mfg Hase