2014-09-24 6 views
0

С jQuery ajax Я могу загрузить в div div на другой странице. Мой вопрос: могу ли я загрузить содержимое div, но не сам div ?. В этом случае я могу загрузить «Some text» и #intern, но не #extern?Загрузите содержимое div с помощью ajax

Одним из решений является загрузка по одному на каждый элемент внутри #extern. Но это упрощенный случай, и в реальном случае есть много вещей и делает этот вариант не очень удобным.

JQuery AJAX:

$("#target").load("extern.html #extern"); 

index.html:

<div id="target"></div> 

EXTERN.html:

<div id="extern"> 
    Some text 
    <div id="intern"></div> 
</div> 
+0

Вы были правы '$ .children()' и '.contents $()' не работает. Я собираюсь удалить свой неправильный ответ. Я проверил его далее на [jsfiddle] (http://jsfiddle.net/ivan_sim/Lpdywkos/) (используя его службу «echo») и смог получить часть его для работы. Неприложенный текст, например «Некоторые тексты», не слишком хорошо работает с селекторами. –

ответ

1

Вы можете использовать jQuery.get() в сочетании с .replaceWith() для достижения желаемого результата:

$.get("extern.html").done(function(data) { 
    $("#target").replaceWith(data); 
}); 
+0

Интересный вариант. Это позволяет избежать дублирования divs, но имеет ограничение, что я должен загрузить все в extern – Nrc

0

Перепробовав много вещей, которые я мог бы найти ответ:

$("#target").load("3-extern.html #extern" // I load the div and the content first 
,function(){ $("#intern").unwrap(); } // I eliminate the loaded div that I do not need anymore 
); 
Смежные вопросы