2012-04-21 4 views
5

Позвольте мне пояснить мою потребность, это может быть не совсем понятно из названия.jquery загружает только innerHtml вместо самой обертки

Я использую:

$("#content").load("http://example.com/page1.html #content"); 

Когда я смотрю в Firebug я вижу #content внутри #content на странице, где произошла Ajax вызова.
Итак, очевидно, что мне нужно только внутреннее html содержимого # content, чтобы загрузить его. Какой был бы самый элегантный способ добиться этого с помощью JQuery.

Спасибо!

ответ

9

, что может быть сделано с помощью $.get

$.get('http://example.com/page1.html', function (data) { 
    data = $(data).find('#content').html(); 
    $("#content").empty().append(data); 
}); 
+0

Большое спасибо за ваши усилия. Это выглядит многообещающим, но как-то все, что я получаю сейчас, пуст #content ???? –

+0

@ daniel.tosaba вы изменили 'http: // example.com/page1.html' на ваш url – mgraph

+0

Да, конечно. Я изменил его на 'link'' var link = $ (this) .attr ("href"); 'В качестве примера значение ссылки -' http: //www.george.destrodesign.com/? Page_id = 33' , –

7

Используйте ребенка Selector (http://api.jquery.com/child-selector/) на #content для выбора всех (*) детей #content.

$("#content").load("http://example.com/page1.html #content > *"); 
+0

Это будет хорошо, если ваш ответ также содержит объяснение. –

Смежные вопросы