2012-01-04 2 views
5

Ho un sito web wordpress e voglio caricare le mie pagine usando jquery. Voglio solo caricare il div dei contenuti, in modo da passare questo l'url in questo modo:Carica solo una parte di una pagina con jquery

var url = $(this).attr('href') + "#content"; 

Ora, quando provo a caricare la pagina utilizzando Ajax carica l'url senza la parte #content. Ora carica la pagina completa nel mio div anziché solo la parte che voglio.

Forse ha qualcosa a che fare con il mio .htaccess:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
# RewriteRule ^index\.php$ - [L] 
RewriteRule ^(index\.php/?|intro.html)$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

Tutte le idee?

+3

Il '#' parte dell'url è solo per il browser, non viene inviato al server. – biziclop

+0

Questa domanda è strettamente correlata a questa domanda precedente: https://stackoverflow.com/questions/2137811/extract-part-of-html-document-in-jquery –

risposta

4

si può usare qualcosa di simile:

$.get(url,function(response){ 
content = $("#content",response); 
$('#newContentHere').append(content); 
}); 
0

dovrai analizzare i dati restituiti dalla chiamata ajax con jquery.

Quindi, se il div si desidera visualizzare sulla tua pagina ha un id di "risultati", la funzione successo sarebbe simile a questa:

success: function(data) { 
    $("content").html($(data).find("results").html()); 
} 
4

Penso che è necessario uno spazio prima del hash.

Ecco un .load() esempio dalla documentazione jQuery:

$('#b').load('article.html #target'); 

Quindi nel tuo caso:

var url = $(this).attr('href') + " #content"; 

$('#containerDiv').load(url);