Jquery,在开头插入<li>标记并删除最后一个标记,一次只保留3个li标记

时间:2016-06-01 11:55:24

标签: javascript jquery html5

我正在使用socket.io和twitter流API。

现在我必须将最近的三条推文保留在列表中

<ul>
    <li></li>
    <li></li>
    <li></li>
</ul>

我的问题是如何在Jquery中执行此操作?每当有新的推文时,我想将它插入到第一个li并将第一个li推文移到第二个li,依此类推并删除第4条推文。

2 个答案:

答案 0 :(得分:2)

  • 使用.prepend在目标元素的开头插入新元素。
  • 如果长度大于预期,请使用:gt()删除元素 length

var count = 0;
$('button').on('click', function() {
  var li = '<li>Data New' + count + '</li>';
  ++count;
  $('ul').prepend(li);
  if ($('ul li').length > 3) {
    $('ul li:gt(2)').remove();
  }
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<ul>
  <li>Data</li>
  <li>Data</li>
  <li>Data</li>
</ul>
<button>Add</button>

答案 1 :(得分:1)

jQuery中使用.prepend()方法。这会将HTML元素添加为目标的第一个节点。

$("ul").prepend("<li>new item</li>");

正如@Kartikeya建议的那样,删除最后一个,如:

$("ul > li:last").remove();