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]. Как можно обойти данную граблю? |
попробуйте так, возможно это решит Вашу проблему.
for (var i=0; i<options.elems_indexes.length; i++) { $('.ui-message').eq(options.elems_indexes[i] - i).remove(); } |
$('.ui-message').filter(function(i) { return options.elems_indexes.indexOf(i) != -1; }).remove(); |
Ну и мой велосипед, что бы до кучи было))
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();//или может так, чо то непомню :) } |
Всем спасибо. Все работавает.
Выбрал код walik как более элегантный ) DjDiablo $(dat[options.elems_indexes[i]]).remove();;) |
Часовой пояс GMT +3, время: 03:38. |