2013-04-16 3 views
-1

Здесь 4 элементы спискаJQuery удалить HTML элементы динамически

<ul> 
    <li>First</li> 
    <li>Second</li> 
    <li>Third</li> 
    <li>Fourth</li> 
</ul> 

Я хочу, чтобы обновить элементы с сервера, так что я пишу AJAX вызова.

$.ajax({ 
    .... 
    $('ul').append('new 4 items from server'); 
}); 

Элементов после AJAX вызова подсчитывать

<ul> 
    <li>First</li> 
    <li>Second</li> 
    <li>Third</li> 
    <li>Fourth</li> 
    <li>new1</li> 
    <li>new2</li> 
    <li>new3</li> 
    <li>new4</li> 
</ul> 

Так Элементы, равно 8. Теперь я хочу, чтобы сохранить последние 5 пунктов Fourth, new1...new4 и удалить остатки. Как я могу это сделать?

+0

http://api.jquery.com/jQuery.each/ http://api.jquery.com/remove/ – Danny

+0

Я понятия не имею о DOWN VOTE, пожалуйста, прокомментируйте, как я могу улучшить вопрос. –

ответ

3

Вы можете использовать селектор :lt(index).

$('ul li:lt(3)').remove(); 

Если вы хотите сохранить пять последних li элементов, которые можно использовать eq и prevAll методы:

$('ul li').eq(-5).prevAll().remove(); 

Или перед добавлением новых элементов удалить все элементы списка, за исключением последнего.

+0

Спасибо! второй работает отлично. –

Смежные вопросы