0

私は次のHTMLを持っています:

<ul style="margin-bottom: 0;" id="stats-results" class="message">
   <li>DS1 Records: <span id="ds1Count"></span></li>
   <li>DEV Records: <span id="devCount"></span></li>
   <li>Added: <span id="Added"></span></li>
   <li>Rejected: <span id="Rejected"></span></li>
   <li>Updated: <span id="Updated"></span></li>
   <li>xxx</li>
</ul>

<li>5 番目以降に存在する要素を削除するにはどうすればよい<li>ですか?

また、私はこのコードを持っています:

$.each(data.Events, function (i, item) {
    $("#stats-list").append('<li>' + item.Description + ' : ' + item.Elapsed + ' ms</li>');
});

5番目の後に追加するようにこれを変更する方法はありますか<li>

4

2 に答える 2

6

パート1

$('#stats-results li:gt(4)').remove();

パート2

リスト内の 5 番目の要素の後に各要素を連続して追加するには、基本的に追加する要素の順序を逆にします。これを行うことができます。

$.each(data.Events, function (i, item) {
    $("#stats-list li:eq(4)").after('<li>' + item.Description + ' : ' + item.Elapsed + ' ms</li>');
});

または、追加する要素の順序を保持しながら、5 番目のインデックスから開始するには、次のようにします。

$.each(data.Events, function (i, item) {
    $("#stats-list li:eq("+(4+i)+")").after('<li>' + item.Description + ' : ' + item.Elapsed + ' ms</li>');
});
于 2012-11-10T07:04:07.883 に答える
2

使用できますnextAll

$('#stats-results li:eq(4)').nextAll().remove();

そしてafter方法:

var html = '';
$.each(data.Events, function (i, item) {
    html += '<li>' + item.Description + ' : ' + item.Elapsed + ' ms</li>';
});
$("#stats-list li:eq(4)").after(html)
于 2012-11-10T07:03:57.390 に答える