2012-02-08 34 views
5

¿todos saben cómo solucionar el problema de css después de una solicitud de Ajax con $ .load? Por ejemplo, si quiero cargar simplemente un DIV de una página web, después de que mi petición Ajax con:perdiendo css después de jquery ajax load

$('container').load('path_to_div #div_id'); 

pierdo todo el CSS y los scripts que se asoció con la div

Cualquier idea por favor

+0

Por asociada, que quiere decir "dentro" de la div (declarado en el interior) o se le presenta un problema en el que el estilo no son más aplicada y javascript caso son desagregado? – FMaz008

+0

los estilos y los javascripts ya no se aplican – user765368

+0

Probablemente se deba a que los estilos que se aplicaron al otro ya no coinciden en el nuevo elemento. Por lo tanto, fueron descartados. –

Respuesta

0

Puede cargar el CSS dinámicamente como en this answer, o agregarlos al archivo CSS de la página en la que está cargando el div.

En cuanto a las secuencias de comandos externas, $.getScript() debería ocuparse de su problema.

1

Sí, los controladores de eventos que se adjuntaron se desconectarán cuando el contenido sea reemplazado por AJAX. Puede utilizar jQuery's .on() o .live() como ganchos de eventos alternativos para evitar esto.

En cuanto al CSS, probablemente haya obtenido un nombre de clase o ID en el contenido original que falta en el contenido reemplazado, o el contenido reemplazado no coincide con los mismos selectores que configuró en su CSS.

Sin ver su HTML/CSS es imposible de decir.

1

Incluye todo el CSS para el elemento (y sus elementos secundarios) en un archivo CSS que se incluye en la página principal en la que lo cargarás. Entonces, si tiene main.html, y está cargando el div #div_id en esa página, querrá incluir el CSS para #div_id dentro de main.html.

también deseará incluir un script que puede delegar controladores de eventos, tales como .delegate() (para las versiones de jQuery anteriores a 1.7) o .on() (para jQuery 1.7+), al AJAX carga el contenido.

1

tuve ese error de la solución fue:

$('#contentPagina').load(nombrePagina,function(){ $('#contentPagina').trigger('create'); });

+0

Hace una hora que estoy buscando esto. ¡Gracias! –

Cuestiones relacionadas