Hablo desde mi ignorancia de jQuery (no soy usuario de ese framework y por cierto, hay un foro especialmente dedicado a temas relacionados con frameworks, que es donde debiste haber posteado este mensaje), pero pregunto: acaso no es necesario que el DOM ya haya sido leído para hacer referencia a uno de sus elementos? Creo que existe un método ready o algo por el estilo en la
documentación