如何将纯文本加载到另一页的div中

ron*_*nni 5 ajax jquery dom-manipulation

我正在尝试将其他页面div中的内容加载到另一个页面div中.

我得到了什么:

JQUERY:

$('#news_date-1').load('test.php .news_date-1');
Run Code Online (Sandbox Code Playgroud)

test.php的

<div class="news_date-1">20-11-2009</div>
Run Code Online (Sandbox Code Playgroud)

Destination.html

 <div id="news_date-1"></div>
Run Code Online (Sandbox Code Playgroud)

我得到的结果=

<div id="news_date-1"><div class="news_date-1">20-11-2009</div></div>
Run Code Online (Sandbox Code Playgroud)

我想要的结果=

<div id="news_date-1">20-11-2009</div>
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

kap*_*apa 3

您可以尝试unwrap()在回调中调用它。

$('#news_date-1').load('test.php .news_date-1', function () {
    $(this) //will refer to #news_date-1
        .find('.news_date-1') //find the inserted div inside
        .contents() //find all its contents
        .unwrap(); //unwrap the contents, thus removing the unneeded div
});
Run Code Online (Sandbox Code Playgroud)

这不是最漂亮的解决方案,因为.load()已经将其插入到 DOM 中,然后您再次篡改 DOM,这应该被最小化。

我看到的另一种方法是使用$.get()

$.get('test.php', function(receivedHtml) {
    //getting only the parts we need
    var neededHtml = $(receivedHtml).find('.news_date-1').html();
    //adding it to DOM
    $('#news_date-1').append(neededHtml);
});
Run Code Online (Sandbox Code Playgroud)