Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.10.2011, 17:12
Аспирант
Отправить личное сообщение для Viper Посмотреть профиль Найти все сообщения от Viper
 
Регистрация: 27.09.2008
Сообщений: 88

remove по индексам
Собстно есть массив индексов элементов к примеру
options.elems_indexes = [0,2,4]


далее
for (var i=0; i<options.elems_indexes.length; i++) {
	$('.ui-message').eq(options.elems_indexes[i]).remove();
}


Проблема в том что при удалении первого элемента у следующего элемента в DOM индекс уменьшается на кол-во удаленных элементов. Соответственно в первом проходе массив индексов уже должен быть [1,3]. При втором [0].

Как можно обойти данную граблю?
Ответить с цитированием
  #2 (permalink)  
Старый 21.10.2011, 17:50
Аспирант
Отправить личное сообщение для Black_Prince Посмотреть профиль Найти все сообщения от Black_Prince
 
Регистрация: 11.07.2011
Сообщений: 64

попробуйте так, возможно это решит Вашу проблему.
for (var i=0; i<options.elems_indexes.length; i++) {
    $('.ui-message').eq(options.elems_indexes[i] - i).remove();
}
Ответить с цитированием
  #3 (permalink)  
Старый 21.10.2011, 17:54
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

$('.ui-message').filter(function(i) {
  return options.elems_indexes.indexOf(i) != -1;
}).remove();
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #4 (permalink)  
Старый 21.10.2011, 18:48
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Ну и мой велосипед, что бы до кучи было))

var dat=$('.ui-message').toArray();

for (var i=0; i<options.elems_indexes.length; i++) {   
   $(dat[options.elems_indexes[i]]).remove();
   //dat[options.elems_indexes[i]].remove();//или может так, чо то непомню :)
}
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 21.10.2011 в 19:07.
Ответить с цитированием
  #5 (permalink)  
Старый 21.10.2011, 22:44
Аспирант
Отправить личное сообщение для Viper Посмотреть профиль Найти все сообщения от Viper
 
Регистрация: 27.09.2008
Сообщений: 88

Всем спасибо. Все работавает.
Выбрал код walik как более элегантный )

DjDiablo
$(dat[options.elems_indexes[i]]).remove();
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Метод remove() в стандартном Array voyager ExtJS 11 08.09.2010 16:04