1

我有一个包含多个列表元素的无序列表。现在通过 Jquery 我想从我的数据库中加载更多项目,然后将它们附加到我的列表中。我的代码:

$("#somediv").append($("<div>").load("ajax.php?action=getresults", function()
{
    $('#busy').delay(1500).fadeOut(700);
}));

这里的问题是我不想将新的 html 添加到我的无序列表中,因为我的列表项将由我的 ajax 请求“创建”。所以我的 ajax 请求将例如返回<li>some value</li>,然后这应该附加到ul. 所以实际上我想做类似的事情

$("#somediv").append($("").load("ajax.php?action=getresults", function()
{
    $('#busy').delay(1500).fadeOut(700);
}));

在 JQuery 中不创建新的 html 元素(在本例中为 div 元素)的情况下追加内容的解决方案是什么?

4

2 回答 2

2

如果我正确理解了您的问题,您需要使用ajax()而不是load()让您更好地控制接收到的数据会发生什么。试试这个:

$.ajax({
    url: "ajax.php?action=getresults",
    dataType: "html", 
    success: function(html) {
        $("#somediv").append(html);
        $('#busy').delay(1500).fadeOut(700);
    }
});
于 2012-12-13T16:46:47.403 回答
1

我认为更清洁的方式:

$.get("ajax.php?action=getresults", function(html){
     $("#somediv").append(html);
     $('#busy').delay(1500).fadeOut(700);
});​​​
于 2012-12-13T16:47:13.360 回答