Collection.add, когда он запускает событие «добавить», передает хэш параметров, который содержит свойство «index», указывая, где, если коллекция сортируется с помощью компаратора, элемент вставляется.
Используя селектор п-го ребенка Jquery, вы можете вставить элемент в нужном месте:
$(function() {
var ships = new Backbone.Collection();
ships.comparator = function(ship) {
return ship.get("name");
};
ships.on("add", function(ship, collection, options) {
if (options.index === 0)
$('ul#list').prepend("<li>Ahoy " + ship.get("name") + " at " + options.index + "!</li>");
else
$('ul#list li:nth-child('+ options.index +')').after("<li>Ahoy " + ship.get("name") + " at " + options.index + "!</li>");
});
ships.add([
{name: "Flying Dutchman"},
{name: "Black Pearl"}
]);
ships.add({name: "Delaware"});
ships.add({name: "Carolina"});
ships.add({name: "America"});
})
Живой пример: http://jsfiddle.net/DRN4C/6/