2010-11-04 4 views
15

Vedrai da questo codice che carica l'URL del contenuto dal tag hash. C'è comunque da caricare solo un elemento div singolo da quella pagina esterna.Carica il contenuto di un div su un'altra pagina

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

in modo da qualcosa come dopo .substring(#inload_content(1))

ma che non funziona.

Grazie

+0

Si prega di notare che il div nell'altra pagina non può essere creato con JavaScript. –

+0

spero che questo possa funzionare http://stackoverflow.com/questions/4101770/load-content-of-a-div-on-another-page –

risposta

46

Hai solo bisogno di aggiungere un selettore jQuery dopo l'URL.

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

Esempio direttamente dal API:

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

Allora, cosa che fa è carica l'elemento #container dall'URL specificato.

+0

OK, grazie molte tuttavia, che cosa facciamo in questa situazione per cui anziché avere un URL esatto abbiamo this.hash.substring. Ovviamente non funzionerebbe per avere this.hash.substring '#container', quindi come si farebbe a farlo $ ("# content_inload"). Load (this.hash.substring (1)); –

+0

@Robin Knight $ ("# content_inload"). Load ('this.hash.substring (1) #container'); dovrebbe funzionare – Radu

+0

Purtroppo no. Poiché this.hash.substring non è incased in parentesi, non può funzionare. Sarebbe qualcosa sulla falsariga di this.hash.substring (1) '#container' ma ciò non funziona, presumibilmente è necessario qualcos'altro. Qualche idea? –

8

Sì, vedere "Caricamento dei frammenti di pagina" su http://api.jquery.com/load/.

In breve, si aggiunge il selettore dopo l'URL. Ad esempio:

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

Ciao, per favore vedi questo: http://stackoverflow.com/q/32687827/4290783 – Aariba