如何在不在JQuery中创建新的html元素的情况下附加列表项?

时间:2012-12-13 16:40:02

标签: jquery html ajax append

我有一个包含多个列表元素的无序列表。现在通过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元素),附加内容会有什么解决方案?

2 个答案:

答案 0 :(得分:2)

如果我已正确理解您的问题,您需要使用ajax()代替load()来更好地控制接收数据的内容。试试这个:

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

答案 1 :(得分:1)

我认为更干净的方式:

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