Вот более полезная версия Ника, указанная выше:
window.WrapMatch = function(sel, count, className){
for(var i = 0; i < sel.length; i+=count) {
sel.slice(i, i+count).wrapAll('<div class="'+className+'" />');
}
}
Вы бы использовали это как:
var ele = $('#menu > ul > li');
window.WrapMatch(ele, 5, 'new-class-name');
Окно должно быть заменено на ваше пространство имен обработчиков.
Обновлено: чуть лучшая версия, использующая jQuery
(function($){
$.fn.wrapMatch = function(count, className) {
var length = this.length;
for(var i = 0; i < length ; i+=count) {
this.slice(i, i+count).wrapAll('<div '+((typeof className == 'string')?'class="'+className+'"':'')+'/>');
}
return this;
};
})(jQuery);
Используйте как:
$('.list-parent li').wrapMatch(5,'newclass');
Второй параметр для имени оболочки является необязательным.