Ну, к сожалению, не должно быть простого, элегантного способа сделать это. После еще нескольких настроек я нашел другое решение, которое может подойти:
var ol = $("ol");
ol.append("<li>Item 5</li>");
var l = $("ol").children("li:last");
var h = ol.height();
l.hide();
ol.animate({
height: h
}, 1000, function() {
l.fadeIn(1000);
});
Добавить элемент, получить новую высоту, скрыть новый элемент списка, анимировать до новой высоты, а затем исчезнуть в новом элементе списка. Кажется немного хакерским, но, кажется, работает в такой же степени. Может быть, это немного переборщило с анимацией здесь.