Групировка многоуровнего меню
Здравствуйте. подскажите пожалуйста.
имеется меню вот такого вида <ul class="leftMenu collapsible"> <li class="cat=1"> <a class="" href="#">Категория1/1</a> <ul class="leftMenuInside"> <li class="cat=1"><a href="ссылка">СерПол1/1 name</a></li> <li class="cat=2"><a href="ссылка2">СерПол1/2 name</a></li> </ul> </li> <li class="cat=2"> <a class="" href="#">Категория1/2</a> <ul class="leftMenuInside"> <li class="cat=1"><a href="ссылка">СерПол1/1 name</a></li> <li class="cat=2"><a href="ссылка2">СерПол1/2 name</a></li> </ul> </li> </ul> Подскажите как с помощью javascript чистого или jQuery сделать так что бы оно стало вот такого вида <ul class="leftMenu collapsible"> <li class="cat=1"> <a class="" href="#">Категория1/1</a> <ul class="leftMenuInside"> <li class="cat=1"><a href="ссылка">СерПол1/1 name</a></li> </ul> </li> <li class="cat=2"> <a class="" href="#">Категория1/2</a> <ul class="leftMenuInside"> <li class="cat=2"><a href="ссылка2">СерПол1/2 name</a></li> </ul> </li> </ul> То есть <li class="cat=1"> имел внутри себя только элементы с классом class="cat=1" (<li class="cat=1"><a href="ссылка">СерПол1/1 name</a>), ну и тд <li class="cat=2"> только (<li class="cat=2"><a href="ссылка">СерПол1/1 name</a>) |
а не соответствующим классам например если <li class="cat=1">
будет содержать <li class="cat=2"> то он добавил <li class="cat=2"> display none (скрыл данный элемент) |
Цитата:
<!DOCTYPE html> <html> <head> <script src='http://code.jquery.com/jquery-latest.js'></script> <!-- <link rel='stylesheet type=text/css href=tmp.css' /> --> <style type='text/css'> </style> <script type='text/javascript'> $(function (){ $('.leftMenu > li').each(function (){ $(this).find('li[class!="'+this.className+'"]').hide(); }); }); </script> </head> <body> <ul class="leftMenu collapsible"> <li class="cat=1"> <a class="" href="#">Категория1/1</a> <ul class="leftMenuInside"> <li class="cat=1"><a href="ссылка">СерПол1/1 name</a></li> <li class="cat=2"><a href="ссылка2">СерПол1/2 name</a></li> </ul> </li> <li class="cat=2"> <a class="" href="#">Категория1/2</a> <ul class="leftMenuInside"> <li class="cat=1"><a href="ссылка">СерПол1/1 name</a></li> <li class="cat=2"><a href="ссылка2">СерПол1/2 name</a></li> </ul> </li> </ul> </body> </html> |
Цитата:
и можно за место hide поставит remove () Спасибо огромное |
Часовой пояс GMT +3, время: 02:31. |