@lagudal

Как передать нужные сслыки в добавленные элементы?

Задача несколько нелепая - есть не вполне приличная структура dom, описывает мегаменю в одном из коммерческих модулей для одной из cms.
Нужно в конец каждого списка последним элементом добавить ссылку - show all - при этом адрес ссылки для каждого списка должен быть идентичен адресу сслылки верхнего заголовка. (т.е. для первого столбца ссылка Title 1, для второго Title 2 и так далее.
Сейчас ссылки добавлены просто для примера - в реальности там этих списков конечно значительно больше, штук по 5-7 для каждого корневого пункта меню. Как бы для каждого списка добавлять вручную так себе вариант, тем более что меню это время от времени может изменяться - добавляться новые, или удаляться старые и тд и тп. Я так понимаю, необходимо пройти циклом по всем таким спискам и соответс-е ссылки из заголовков передать в добавленные элементы.
Но как?
  • Вопрос задан
  • 22 просмотра
Пригласить эксперта
Ответы на вопрос 1
john36allTa
@john36allTa
That`s calling Walker
document.addEventListener('click', function(e){
	let el = e.target, 
			parent = el.parentElement
	if (el.nodeName === 'A' && !el.classList.contains('menu-link') && parent.classList.contains('menu-wrapper')){
		e.preventDefault()
		while (!parent.classList.contains('parent'))
			parent = parent.parentElement
		parent.querySelector('a.menu-link').click()
  }
})

Используя JQuery:
$(document).on('click', 'ul.menu-item.child a', function(e){
  $(e.target).closest('ul.menu-item.parent').find('a.menu-link').click()
})
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы