2014-09-24 178 views
0

使用jQuery ajax,我可以在另一個頁面的div中加載div。我的問題是:我可以加載一個div的內容,但不是div本身?在這種情況下,我可以加載「一些文本」和#intern而不是#extern?使用ajax加載div的內容

一個解決方案是在#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

你說得對,'$。孩子()'和'$ .contents()'不工作。我將刪除我不正確的答案。我在[jsfiddle](http://jsfiddle.net/ivan_sim/Lpdywkos/)(使用它的'echo'服務)上進一步測試了它,並設法讓它的一部分工作。非封閉的文本,如「某些文本」在選擇器中不起作用。 – 2014-09-27 03:16:42

回答

1

您可以結合使用jQuery.get().replaceWith(),以達到預期的效果:

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

有趣的選擇。這避免了div的重複,但有侷限性,我必須在extern中加載所有內容 – Nrc 2014-09-24 15:27:42

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 
);