2012-01-04 3 views
5

У меня есть сайт wordpress и вы хотите загрузить мои страницы с помощью jquery. Я только хочу, чтобы загрузить DIV контента, поэтому я прохожу этот URL-адрес, как это:Загружать только часть страницы с помощью jquery

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

Теперь, когда я пытаюсь загрузить страницу с помощью Ajax он загружает URL без #content части. Теперь он загружает полную страницу в мой div, а не только ту часть, которую я хочу.

Может быть, это что-то делать с моей .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 

Любые идеи?

+3

В '#' часть url предназначена только для браузера, она не отправляется на сервер. – biziclop

+0

Этот вопрос очень тесно связан с указанным ранее: https://stackoverflow.com/questions/2137811/extract-part-of-html-document-in-jquery –

ответ

4

Вы можете использовать что-то вроде этого:

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

вам нужно будет проанализировать данные, возвращаемые вызовом ajax с помощью jquery.

Таким образом, если ДИВ вы хотите показать на странице имеет идентификатор «результаты», ваша функция успех будет выглядеть примерно так:

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

Я думаю, вам нужно пространство перед хэша.

Вот .load() пример из документации JQuery:

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

так в вашем случае:

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

$('#containerDiv').load(url); 
Смежные вопросы