如何使用.load将li附加到当前ul?

时间:2012-06-28 08:37:25

标签: jquery append add

我正在搜索amd我有以下代码行:

 $('#searchResults').add($('li:last').load(url + '&' + urlExtra));

这会添加10个带内容的li标签,而不是添加到ul中,它将最后一个li嵌入到已加载的列表中。试图澄清我想要这个结果:

<ul>
<li>already in list</li>
<li>already in list</li>
<li>already in list</li>
<li>already in list</li>
<li>new li from load</li>
<li>new li from load</li>
</ul>

但是我得到了这个:

    <ul>
    <li>already in list</li>
    <li>already in list</li>
    <li>already in list</li>
    <li>already in list
       <li>new li from load</li>
       <li>new li from load</li>
    </li>
    </ul>

任何指向正确方向的人都会非常感激。

亲切的问候 拉结

5 个答案:

答案 0 :(得分:3)

改为使用jQuery.get()

$.get(url + '&' + urlExtra,function(data) {
   $('#searchResults').append('<li>' + data + '</li>');
})
在我的案例中,{p> #searchResultsul。这会使用.append()将新li添加到ul

的末尾

答案 1 :(得分:2)

jQuery的load()函数 - 用已下载的内容替换父级的内容。在您的代码中,加载调用的父级是您的最后li而不是ul。您需要的是将内容附加到父级而不是替换它的内容。所以从理论上讲,load()不能为你做到。使用.ajax().get()之类的内容获取内容,然后将其附加到您的父ul

答案 2 :(得分:0)

为什么不将它添加到ul本身而不是添加到最后一个li?

答案 3 :(得分:0)

尝试将新的'li'附加到ul:

$('#searchResults ul').append("<li>asdasdasd</li>");

答案 4 :(得分:0)

也许试试:

$.get('foo.html', function(data) {
    $('#results').append(data);
});

<强> HTML:

<ul id="results">
    <li>Item 1</li>
</ul>

<强> foo.html:

<li>New item</li>

<强>结果:

<ul id="results">
<li>Item 1</li>
<li>New item</li>
</ul>