2010-11-04 52 views
15

Verá en este código que carga la URL de contenido de la etiqueta hash. ¿Hay alguna forma de cargar solo un elemento div de esa página externa?Cargar contenido de un div en otra página

$(function() { 
    if(location.hash) $("#content_inload").load(location.hash.substring(1)); 
    $("#nav a").click(function() { 
      $("#content_inload").load(this.hash.substring(1)); 
    }); 
}); 

así que algo como después .substring(#inload_content(1))

pero eso no funciona.

Gracias

+0

Tenga en cuenta que el div en la otra página puede no crearse con JavaScript. –

+0

Espero que esto pueda funcionar http://stackoverflow.com/questions/4101770/load-content-of-a-div-on-another-page –

Respuesta

46

Usted sólo tiene que añadir un selector de jQuery después de la URL.

Ver: http://api.jquery.com/load/

Ejemplo directamente desde la API:

$('#result').load('ajax/test.html #container'); 

Así que lo que hace es que carga el elemento #container de la URL especificada.

+0

Bien, muchas gracias, pero ¿qué hacemos en esta situación que en lugar de tener una URL exacta tenemos this.hash.substring. Obviamente, no funcionaría tener this.hash.substring '#container' así que ¿cómo lo haría uno $ ("# content_inload"). Load (this.hash.substring (1)); –

+0

@Robin Knight $ ("# content_inload"). Load ('this.hash.substring (1) #container'); debería funcionar – Radu

+0

Desafortunadamente no. Como this.hash.substring no está entre paréntesis, no puede funcionar. Sería algo similar a this.hash.substring (1) '#container' pero eso no funciona, por lo que presumiblemente se necesita algo más. ¿Algunas ideas? –

8

Sí, consulte "Carga de fragmentos de página" en http://api.jquery.com/load/.

En resumen, agrega el selector después de la URL. Por ejemplo:

$('#result').load('ajax/test.html #container'); 
+0

Hola, por favor vea esto: http://stackoverflow.com/q/32687827/4290783 – Aariba

Cuestiones relacionadas