$(function() {
var container = '.bar',
children = $(container).children().length,
column = 4,
width = $(container).width() / column - 20;
function columnizer(value) {
var i = 0,
x = Math.ceil(value / column),
z = Math.round(value / column),
y = '<div class="column" />';
while (i < column ) {
$(container).children(':not("div.column")').slice(0, x).wrapAll(y);
i++;
}
}
columnizer(children);
$(container).append("<div class='clear'></div>");
$('.column').width(width);
});
Кроме того, измените свои тестовые данные, чтобы они включали число после каждого Lorum или Duis. В противном случае код может выглядеть как работающий, но на самом деле это не так.
Этот метод также работает для любого количества столбцов (а не только для 4 столбцов).