Как скопировать ссылки с параметрами в другой блок?
Добрый день уважаемые. Помогите с решением такой задачи https://jsfiddle.net/c1m7qq17/2/ Есть меню bl_subNav__full в котором есть категории bl_subNav__children с своими пунктами меню bl_subNav__link Вопрос - Как сделать дублирование этих детей в новые подкатегории меню mobile_subNav с ссылками. То есть мне необходимо что б в новое меню собирались li + a(с их href) + p с названием товаров без Img. ? Как обойти все пункты и пособирать нужные элементы?
|
|
Black_Star,
можно сюда html до и после? |
Nexus, немного не так.
рони Вот код <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .mobile_subNav{ width: 100%; min-height: 30px; border: 1px solid #000;} </style> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> </head> <body> <div class="bl_subNav__full hidden"> <ul class="bl_subNav__children"> <li class="bl_subNav__field"> <ul class="bl_subNav_wrapper"> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="ссылка1"> <p class="bl_subNav__name">Куртки</p> <img class="bl_subNav__img" src="" alt="Куртки"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="ссылка2"> <p class="bl_subNav__name">Обувь</p> <img class="bl_subNav__img" src="" alt="Обувь"> </a> </li> </ul> </li> </ul> <ul class="bl_subNav__children"> <li class="bl_subNav__field"> <ul class="bl_subNav_wrapper"> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="ссылка3"> <p class="bl_subNav__name">Демисезонная одежда 1</p> <img class="bl_subNav__img" src="" alt="Демисезонная одежда 1"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="ссылка4"> <p class="bl_subNav__name">Демисезонная одежда 2</p> <img class="bl_subNav__img" src="" alt="Демисезонная одежда 2"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="ссылка5"> <p class="bl_subNav__name">Демисезонная одежда 3</p> <img class="bl_subNav__img" src="" alt="Демисезонная одежда 3"> </a> </li> </ul> </li> </ul> <ul class="bl_subNav__children"> <li class="bl_subNav__field"> <ul class="bl_subNav_wrapper"> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="ссылка6"> <p class="bl_subNav__name">Летняя одежда 1</p> <img class="bl_subNav__img" src="" alt="Летняя одежда 1"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="ссылка7"> <p class="bl_subNav__name">Летняя одежда 2</p> <img class="bl_subNav__img" src="" alt="Летняя одежда 2"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="ссылка8"> <p class="bl_subNav__name">Летняя одежда 3</p> <img class="bl_subNav__img" src="" alt="Летняя одежда 3"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="ссылка9"> <p class="bl_subNav__name">Летняя одежда 4</p> <img class="bl_subNav__img" src="" alt="Летняя одежда 4"> </a> </li> </ul> </li> </ul> <ul class="bl_subNav__children"> <li class="bl_subNav__field"> <ul class="bl_subNav_wrapper"> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Обувь 1</p> <img class="bl_subNav__img" src="" alt="Обувь 1"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Обувь 2</p> <img class="bl_subNav__img" src="" alt="Обувь 2"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Обувь 3</p> <img class="bl_subNav__img" src="" alt="Обувь 3"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Обувь 4</p> <img class="bl_subNav__img" src="" alt="Обувь 4"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Обувь 5</p> <img class="bl_subNav__img" src="" alt="Обувь 5"> </a> </li> </ul> </li> </ul> <ul class="bl_subNav__children"> <li class="bl_subNav__field"> <ul class="bl_subNav_wrapper"> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Кемпинг 1</p> <img class="bl_subNav__img" src="" alt="Кемпинг 1"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Кемпинг 2</p> <img class="bl_subNav__img" src="" alt="Кемпинг 2"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Кемпинг 3</p> <img class="bl_subNav__img" src="" alt="Кемпинг 3"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Кемпинг 4</p> <img class="bl_subNav__img" src="" alt="Кемпинг 4"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Кемпинг 5</p> <img class="bl_subNav__img" src="" alt="Кемпинг 5"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Кемпинг 6</p> <img class="bl_subNav__img" src="" alt="Кемпинг 6"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="http://norfin.loc/palatki-108/"> <p class="bl_subNav__name">Кемпинг 7</p> <img class="bl_subNav__img" src="" alt="Кемпинг 7"> </a> </li> </ul> </li> </ul> </div> <div class="my_block"> <ul class="bl_fullCategories__field " style="display: block;"> <li class="bl_fullCategories__item js-navItem"> <a class="bl_fullCategories__link">Зимняя одежда</a> </li> <li class="bl_fullCategories__item js-navItem"> <a class="bl_fullCategories__link">Демисезонная одежда</a> </li> <li class="bl_fullCategories__item js-navItem"> <a class="bl_fullCategories__link">Летняя одежда</a> </li> <li class="bl_fullCategories__item js-navItem"> <a class="bl_fullCategories__link">Обувь</a> </li> <li class="bl_fullCategories__item js-navItem"> <a class="bl_fullCategories__link">Кемпинг</a> </li> </ul> </div> <script> $(".bl_fullCategories__link").each(function() { $(this).append('<ul class="mobile_subNav"></ul>'); }); </script> </body> </html> Необходимо что б пункты меню были привязаны к свои родителям http://prntscr.com/j9wmbr То есть в категории Зимняя одежда были пункты Куртки Обувь со своими ссылка. В категории Демисезонная одежда были пункты в ссылках Демисезонная одежда 1 Демисезонная одежда 2 Демисезонная одежда 3 и тд. Ориентация по классам .bl_subNav__children |
Black_Star, не могу вашу верстку прочитать.
Как определить в какой блок нужно затолкать ту или иную ссылку? |
Black_Star,
меню определяется не копированием html-блоков на клиенте, а деревом каталогов в базе. Сервер получает из базы дерево и строит меню, либо отдает описание дерева как объект клиенту, и он строит меню. |
Black_Star,
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .mobile_subNav{ width: 100%; min-height: 30px; border: 1px solid #000;} </style> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> </head> <body> <div class="bl_subNav__full hidden"> <ul class="bl_subNav__children"> <li class="bl_subNav__field"> <ul class="bl_subNav_wrapper"> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="ссылка1"> <p class="bl_subNav__name">Куртки</p> <img class="bl_subNav__img" src="" alt="Куртки"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="ссылка2"> <p class="bl_subNav__name">Обувь</p> <img class="bl_subNav__img" src="" alt="Обувь"> </a> </li> </ul> </li> </ul> <ul class="bl_subNav__children"> <li class="bl_subNav__field"> <ul class="bl_subNav_wrapper"> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="ссылка3"> <p class="bl_subNav__name">Демисезонная одежда 1</p> <img class="bl_subNav__img" src="" alt="Демисезонная одежда 1"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="ссылка4"> <p class="bl_subNav__name">Демисезонная одежда 2</p> <img class="bl_subNav__img" src="" alt="Демисезонная одежда 2"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="ссылка5"> <p class="bl_subNav__name">Демисезонная одежда 3</p> <img class="bl_subNav__img" src="" alt="Демисезонная одежда 3"> </a> </li> </ul> </li> </ul> <ul class="bl_subNav__children"> <li class="bl_subNav__field"> <ul class="bl_subNav_wrapper"> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="ссылка6"> <p class="bl_subNav__name">Летняя одежда 1</p> <img class="bl_subNav__img" src="" alt="Летняя одежда 1"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="ссылка7"> <p class="bl_subNav__name">Летняя одежда 2</p> <img class="bl_subNav__img" src="" alt="Летняя одежда 2"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="ссылка8"> <p class="bl_subNav__name">Летняя одежда 3</p> <img class="bl_subNav__img" src="" alt="Летняя одежда 3"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="ссылка9"> <p class="bl_subNav__name">Летняя одежда 4</p> <img class="bl_subNav__img" src="" alt="Летняя одежда 4"> </a> </li> </ul> </li> </ul> <ul class="bl_subNav__children"> <li class="bl_subNav__field"> <ul class="bl_subNav_wrapper"> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Обувь 1</p> <img class="bl_subNav__img" src="" alt="Обувь 1"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Обувь 2</p> <img class="bl_subNav__img" src="" alt="Обувь 2"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Обувь 3</p> <img class="bl_subNav__img" src="" alt="Обувь 3"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Обувь 4</p> <img class="bl_subNav__img" src="" alt="Обувь 4"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Обувь 5</p> <img class="bl_subNav__img" src="" alt="Обувь 5"> </a> </li> </ul> </li> </ul> <ul class="bl_subNav__children"> <li class="bl_subNav__field"> <ul class="bl_subNav_wrapper"> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Кемпинг 1</p> <img class="bl_subNav__img" src="" alt="Кемпинг 1"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Кемпинг 2</p> <img class="bl_subNav__img" src="" alt="Кемпинг 2"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Кемпинг 3</p> <img class="bl_subNav__img" src="" alt="Кемпинг 3"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Кемпинг 4</p> <img class="bl_subNav__img" src="" alt="Кемпинг 4"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Кемпинг 5</p> <img class="bl_subNav__img" src="" alt="Кемпинг 5"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="javascript:void(0);"> <p class="bl_subNav__name">Кемпинг 6</p> <img class="bl_subNav__img" src="" alt="Кемпинг 6"> </a> </li> <li class="bl_subNav__link"> <a class="bl_subNav__name" href="http://norfin.loc/palatki-108/"> <p class="bl_subNav__name">Кемпинг 7</p> <img class="bl_subNav__img" src="" alt="Кемпинг 7"> </a> </li> </ul> </li> </ul> </div> <div class="my_block"> <ul class="bl_fullCategories__field " style="display: block;"> <li class="bl_fullCategories__item js-navItem"> <a class="bl_fullCategories__link">Зимняя одежда</a> </li> <li class="bl_fullCategories__item js-navItem"> <a class="bl_fullCategories__link">Демисезонная одежда</a> </li> <li class="bl_fullCategories__item js-navItem"> <a class="bl_fullCategories__link">Летняя одежда</a> </li> <li class="bl_fullCategories__item js-navItem"> <a class="bl_fullCategories__link">Обувь</a> </li> <li class="bl_fullCategories__item js-navItem"> <a class="bl_fullCategories__link">Кемпинг</a> </li> </ul> </div> <script> var a = $(".bl_fullCategories__link"); $(".bl_subNav__children").each(function(i, ul) { var li = $(".bl_subNav__link", ul).clone(); $("img", li).remove(); ul = $('<ul class="mobile_subNav"></ul>').insertAfter(a[i]); li.appendTo(ul) }); </script> </body> </html> |
рони, спасибо. :thanks: Это именно то что надо
|
Часовой пояс GMT +3, время: 04:40. |