Как удалить Div, если считать больше, чем х с JQuery? - PullRequest
3 голосов
/ 13 марта 2012

У меня есть html:

<div class="test">
   <div class="itsme">1</div>
   <div class="itsme">2</div>
   <div class="itsme">3</div>
   <div class="itsme">4</div>
</div>

, и я динамически добавляю новый div с помощью вызова ajax вверху div1.

var count = jQuery('div.itsme').size();
if(count > 3){
   $('.test').find("div:last").remove();
}

это работает так, чтоесли я добавляю один div, последний удаляется, но он не отслеживает, сколько div.

Даже если в начале есть 10 делений, как только я добавлю еще один, последний удаляется.

Почему я ищу, всегда ли в этом случае 3 деленияотображается.Если я добавлю еще один div, то последний будет удален, если я добавлю 2 div, тогда последние 2 будут удалены

Надеюсь, я достаточно ясен.

спасибо,

ps Я использую size(), потому что lenght(), похоже, не работает, Chrome видит это как неопределенную функцию, и я проверил, у меня есть jquery 1.7 ..

Ответы [ 5 ]

8 голосов
/ 13 марта 2012
if($('.itsme').length > 3){
   $('.itsme:gt(2)').remove();
}

FIDDLE

7 голосов
/ 13 марта 2012

Вы можете использовать селектор :gt, чтобы отфильтровать элементы над определенным индексом и удалить их.Это сохранит только три первых элемента:

$('.test .itsme:gt(2)').remove();
2 голосов
/ 13 марта 2012

потому что вы удаляете только последний

попробуйте это:

jQuery('div.itsme:gt(2)').remove() // it starts at index 0
2 голосов
/ 13 марта 2012

Вы можете выбрать последний div с этим селектором

$('.itsme').eq(-1).remove();

$('.itsme') // select all the class

eq(-1) // select one element from the array of class begin for the end.

Edit:

Если вы хотите удалить все div минус три первого класса, используйте букле:

for( var i=0; i< $('.itsme').length - 3; i++){
     $('.itsme').eq(-1).remove();
}
2 голосов
/ 13 марта 2012

Вы можете просто повторить, как это:

var count = jQuery('div.itsme').size();
if (count > 3) {
  var numTimes = count - 3;
  for (var i = 0; i < numTimes; i++) {
    $('.test').find("div:last").remove();
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...