jQuery: ¿Cambiar el CSS en un elemento cargado con ajax?

Necesito cambiar la posición de un elemento que estoy cargando con ajax . Quiero usar .css() para cambiarlo, pero jQuery no puede encontrar el elemento porque no está siendo reconocido. ¿Cómo hago para que jQuery “reconozca” el elemento?

He leído sobre live() y delegate() pero no consigo que ninguno de ellos trabaje como quiero. ¡Apreciaría realmente alguna ayuda!

Realice el cambio de css en la función complete o success de la llamada ajax. Asumiendo que estás usando load :

 $('#el').load( url, data, function(){ $('#selector').css('position', 'absolute'); } ); 

Alternativamente (y más fácil de dar como ejemplo) registre un evento ajaxComplete

 $(document).ajaxComplete(function(){ if($('#elementID').length != 0) { $('#elementID').css('position', 'absolute'); } }); 

Esto se activa cada vez que se completa una solicitud ajax, verifica si existe #elementID y, si es así, se aplica el css.

Si tiene que marcar en una variable js, puede hacerlo de la siguiente manera.

 $(markup).find("requiredElement").css({ set the properties here }); 

Si desea editar su CSS, primero debe colocarlo en el DOM y luego manipularlo.

Ejemplo:

 $.ajax({ ... success:function(data){ $('
').appendTo('body').html(data).css('border','3px solid red'); } });