en mi opinión $ ("# test"). Ready significa que comprueba que #test está cargado en dom o no. el punto @ZeSimon tiene que si carga el documento, entonces es seguro que #test está incluido en dom. pero en algún momento el contenido proviene de la solicitud ajax, entonces no está cargado en dom y no funciona si llamas al evento click sobre ellos.
la longitud> 0 se puede utilizar para verificar que #test exista en lugar de estar listo para usar porque no tiene sentido verificarlo con el evento ready.
si su #test provenir de petición ajax entonces usted tiene alguna opción
unen el evento click en ellos
uso en vivo ('clic') para unir un evento para el contenido [quien tal vez venga a través de la solicitud ajax]
¿por qué lo necesitarías? Si el documento se ha cargado, significa que todo el DOM está listo para ser manipulado, a menos que esté cargando contenido dinámicamente. En ese caso, puede usar $ ('. My_class'). Live ('click', function() {}); dentro del controlador de eventos document.ready para vincular eventos a DOM que aún no se pueden cargar. –