Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 31.05.2010, 12:33
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

$('ul.menu').each(function(){ 
	var li = $('li',this), length = Math.ceil(li.length / 4), i = 0, uls = $('<div></div>');

	for(; i < length; i++){
		$('<ul class="menu"></ul>').append(li.filter(':gt(' + (i*4-1) + ')').filter(':lt(' + (i+1)*4 + ')')).appendTo(uls); 
	}
	$(this).replaceWith(uls.children());
});
Или элегантней, но не оптимально:
$('ul.menu').each(function(){ 
	var i = Math.ceil($('li',this).length / 4), uls = $('<div></div>');

	while(i--) $('<ul class="menu"></ul>').append($('li',this).filter(':lt(4)')).appendTo(uls); 
	$(this).replaceWith(uls.children());
});
Ответить с цитированием
  #22 (permalink)  
Старый 31.05.2010, 15:17
Интересующийся
Отправить личное сообщение для Alexxx Посмотреть профиль Найти все сообщения от Alexxx
 
Регистрация: 30.05.2010
Сообщений: 15

Спасибо! Сравнив со своими потугами, понял, что пытался делать проще, но не получил бы рабочего кода.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как изменить background всех дочерних элементов внутри <div>? libinstyle Общие вопросы Javascript 2 24.03.2010 13:25
Как прочитать список имён элементов в Cookie? Бобр Общие вопросы Javascript 6 09.02.2010 08:47
как записать id всех элементов в массив? SunYang Общие вопросы Javascript 21 06.02.2010 22:50
Как снять фокус со всех элементов? Logo Общие вопросы Javascript 7 02.07.2009 23:53
Как обработать несколько элементов подряд? vladymyrk jQuery 1 07.01.2009 20:33