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

时间:2011-10-13 08:36:47

标签: ajax jquery dom-manipulation

我正在尝试将内容从另一个页面div加载到另一个页面div。

我得到了什么:

JQUERY:

$('#news_date-1').load('test.php .news_date-1');

test.php的

<div class="news_date-1">20-11-2009</div>

Destination.html

 <div id="news_date-1"></div>

我得到的结果=

<div id="news_date-1"><div class="news_date-1">20-11-2009</div></div>

我想要的结果=

<div id="news_date-1">20-11-2009</div>

有人可以帮忙吗?

2 个答案:

答案 0 :(得分: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
});

这不是最漂亮的解决方案,因为.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);
});

答案 1 :(得分:0)

试试这个:

$.get('test.php', function(data) {
    $('#news_date-1').append($(data).find('.news_date-1'));
});