Не могу точно сказать, основываясь на вопросе, но я думаю вот что вы ищете:
function removeMLRow(rowNo) {
$('#ml_organize li').eq(rowNo - 1).remove();
$('#ml_organize li').slice(rowNo -1).each(function() {
var newID = 'li' + ($(this).index() + 1);
$(this).attr('id',newID);
});
}
Во-первых, вы можете использовать .eq()
вместо :eq()
, чтобы сделать вещи чище. Затем мы используем .slice()
, чтобы получить все <li>
элементы после того, который мы удалили, и нумеруем только эти <li>
. Вы можете использовать :gt()
(больше, чем индекс), но .slice()
просто обрезает конкатенацию строк (и это немного быстрее, хотя разница бесконечно мала).