Показать сообщение отдельно
  #1 (permalink)  
Старый 13.05.2021, 20:21
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Вставить ссылку в список.
Всем привет. Нашёл меню в инете и хочу его приспособить на сайт. В процессе интеграции встала одна проблема. Прошу помочь. Меню и код можно посмотреть тут: https://jsfiddle.net/ureech/krb81tep/9/
Суть работы. При клике на ссылку пункта меню (class="parent"),который содержит подменю, ul подменю присваиваются два класса. loaded и activity. Если в подменю есть ещё ссылки (class="parent"), то и там происходит тоже самое. Так вот нужно при клике на "parent"
<li>
<a href="#" class="parent">Компьютерная техника</a>
<ul class="">
....

после <ul class=""> вставить ссылку
<li><a href="#" class="back"></a></li>

Часть js кода,отвечающая за присвоение и удаления классов такая
$(document).on("click", ".mobile_menu_container .parent", function(e) {       
		e.preventDefault();	
		$(".mobile_menu_container .activity").removeClass("activity");
		$(this).siblings("ul").addClass("loaded").addClass("activity");				
    }), 
	$(document).on("click", ".mobile_menu_container .back", function(e) {
        e.preventDefault();
		$(".mobile_menu_container .activity").removeClass("activity");
		$(this).parent().parent().removeClass("loaded");
		$(this).parent().parent().parent().parent().addClass("activity");
		//$(this).remove();

    }),

Пытался создавать ссылку
var li    = document.createElement('li');
		var a    = document.createElement('a');
		a.href='#';
		a.className ='back';
		li.appendChild(a);

И затем в первом $(document) получать
var NodeList = document.querySelectorAll('ul.loaded li');

И в цикле через
$(NodeList[i]).before(li)
вставлять. Но никак. При первом клике по "parent" в NodeList null
Ответить с цитированием