no se si de algo sirve pero tienes el jquery afuera del head, ademas usas prototype (que tambien utiliza el signo dolar para su funcion) por lo tanto debes usar jQuery.noconflict(); y en vez de referirte a jquery con $ lo haras con jQuery 
esto funciona de hecho
el problema es el conflicto con prototype

esto funciona de hecho

Código
jQuery('.estrella')
el problema es el conflicto con prototype

Pues tuviste toda la razon.... Sustitui los $ por jQuery.
La idea esta de la sustitucion no me gusta mucho, ya que estoy acostumbrado a usar el $, que puedo hacer para poder usar el $ en vez de jQuery ?
Saludos !