【问题标题】:jQuery load page on end of listjQuery 在列表末尾加载页面
【发布时间】:2014-04-18 14:16:09
【问题描述】:

我有一个物品清单

<ul class="coments-list">
   <li>1</li>
   <li>2</li>
   <li>3</li>
</ul>

我想在 ajax 成功后用 jquery 加载更多项目

...
success: function (id) {
   $('.comment-list').load('/coments?commentid=' + id);
},
...

在此之前的任何代码中都不是问题,但是这段代码用加载的&lt;li&gt;元素替换了整个列表

【问题讨论】:

    标签: jquery ajax jquery-load


    【解决方案1】:

    试试JQuery append function。例如:

    $('.coments-list').append('<li>4</li>');
    

    Fiddle.

    要结合加载和附加,您可以这样做:

    ...
    success: function (id) {
        $('.coments-list').append($(document.createElement("li")).load('/coments?commentid=' + id));
    },
    ...
    

    它将&lt;li&gt; 元素附加到评论列表中,并使用作为参数传递的源数据加载它。

    【讨论】:

      【解决方案2】:

      您可以创建一个隐藏在加载内容的新 div。在您可以将其内容附加到您的 ul 之后

      尝试:

      $(document).append('<div id="content-load" style="display:none;"></div>');
      $(document).find('#content-load').load('/coments?commentid=' + id);
      
      $('.comment-list').append($(document).find('#content-load').html());
      

      【讨论】:

      • 谢谢,我也在考虑这个问题,但希望jquery中有东西可以直接做。
      【解决方案3】:

      获取您要渲染的内容,然后使用追加而不是加载。

      【讨论】:

      • 也许您可以向操作员展示它是如何完成的?那肯定是一个更好的答案......
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-08
      • 1970-01-01
      • 2014-06-20
      • 2018-07-28
      • 2011-08-02
      相关资源
      最近更新 更多