Обернуть несколько Li в общий див 
		
		
		
		Имеем сложное по вложенности меню. Нужно разбить второй уровень на несколько колонок. Имеющиеся плагины смотрела, но они разбивают только по первым li уровня, не учитывая последующие ul, в которых количество элементов может быть разным. Поэтому высота у колонок получается разная. 
	была идея на вот такую конструкцию 
$("li.item-3246").before('<div class="menucols">');
$("li.item-3269").after('</div><div class="menucols">');
$("li.item-3289").after('</div><div class="menucols">');
$("li.item-3289").after('</div>');
но гадский браузер (или не браузер) закрывает каждый див, хотя его об этом никто не просит, то есть вместо открывающего <div class="menucols"> у меня получается <div class="menucols"></div> :( jQuery(document).ready(function($) использую. Как можно побороть сию печальку?  | 
	
		
 Ленча, 
	что на входе, что на выходе - только необходимое?  | 
	
		
 Не совсем понятен вопрос, уточните, пожалуйста. 
	 | 
	
		
 Ленча, 
	на входе 
<ul>
    <li>01</li>
    <li>02</li>
    <li>03</li>
    <li>04</li>
    <li>05</li>
    <li>06</li>
    <li>07</li>
    <li>08</li>
    <li>09</li>
</ul>
на выходе 
<ul>
   <div class="menucols"><li>01</li></div>
    <li>02</li>
    <li>03</li>
    <div class="menucols"><li>04</li></div>
    <li>05</li>
    <li>06</li>
    <li>07</li>
    <li>08</li>
    <li>09</li>
</ul>
 | 
	
		
 Ленча, 
	http://api.jquery.com/wrapAll/ ?  | 
	
		
 на входе 
	
<ul>
    <li>01</li>
    <li>02</li>
	    <ul>
		    <li>03</li>
            <li>04</li>
            <li>05</li>
            <li>06</li>		
		</ul>
    <li>03</li>
    <li>04</li>
    <li>05</li>
    <li>06</li>
    <li>07</li>
    <li>08</li>
    <li>09</li>
</ul>
на выходе хочу 
<ul>
<div class="menucols">
    <li>01</li>
    <li>02</li>
	    <ul>
		    <li>03</li>
            <li>04</li>
            <li>05</li>
            <li>06</li>		
		</ul>
    <li>03</li>
    <li>04</li>
</div>
<div class="menucols">	
    <li>05</li>
    <li>06</li>
</div>
<div class="menucols">	
    <li>07</li>
    <li>08</li>
    <li>09</li>
</div>	
</ul>
а получаю 
<ul>
<div class="menucols"></div>
    <li>01</li>
    <li>02
	    <ul>
		    <li>03</li>
            <li>04</li>
            <li>05</li>
            <li>06</li>		
		</ul>
	</li>	
<div class="menucols"></div>
    <li>03</li>
    <li>04</li>
	
    <li>05</li>
    <li>06</li>
<div class="menucols"></div>
    <li>07</li>
    <li>08</li>
    <li>09</li>
<div class="clear"></div>	
</ul>
По этой функции уже гуглила, но не поняла пока как указать список элементов, у которых нет одинакового признака. Они генерируются php, и логически им никак нельзя придать одинаковый класс. Не за что зацепиться  | 
	
		
 Ленча, 
	
<!DOCTYPE html>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .menucols  {
    border: 1px #FF0000 dotted;
     margin: 4px;
  }
  .clear{
    height: 2px;
    background-color: #0000FF;
  }
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {
var ul = $("ul.test"), li = ul.children();
li.slice(0,4).wrapAll( "<div class='menucols' />");
li.slice(4,6).wrapAll( "<div class='menucols' />");
li.slice(6).wrapAll( "<div class='menucols' />");
ul.append("<div class='clear' />")
});
  </script>
</head>
<body>
<ul class="test">
    <li>01</li>
    <li>02
      <ul>
            <li>03</li>
            <li>04</li>
            <li>05</li>
            <li>06</li>
     </ul>
    </li>
    <li>03</li>
    <li>04</li>
    <li>05</li>
    <li>06</li>
    <li>07</li>
    <li>08</li>
    <li>09</li>
</ul>
</body>
</html>
 | 
	
		
 Цитата: 
	
  | 
	
		
 laimas, 
	браузеры не против, значит можно, а вот на счёт нужно, есть сомнение. :)  | 
	
		
 Не знаю как насчет валидности - не проверяла - но пилят так все, кому не лень)  
	У Вас есть другой способ в загашнике? Послушаю с удовольствием, люблю оригинальные решения. Тем более, что у меня небольшая проблема возникла. Меню, к которому надо это применить, само генерируется скриптом. При добавлении данной функции, меню генерироваться перестает. Вот примерно как все происходит 
<script>
	jQuery(document).ready(function($) {
		$(".flex").clone().removeClass("flex").addClass("desktopmenu").appendTo(".nextmenu .center");
		$(".desktopmenu ul").removeClass("flexnav identificator with-js opacity lg-screen");
		//вот сюда вставляем функцию
                $(function() {
                   var ul = $(".desktopmenu ul.count9), li = ul.children();
                   li.slice(0,4).wrapAll( "<div class='menucols' />");
                   li.slice(4,6).wrapAll( "<div class='menucols' />");
                   li.slice(6).wrapAll( "<div class='menucols' />");
                   ul.append("<div class='clear' />")
                });
	});
</script>
В консоли Цитата: 
	
 <div class="clear"></div>  | 
| Часовой пояс GMT +3, время: 14:23. |