Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 18.05.2021, 17:26
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

let hash;var link;
$(document).on("click", ".mobile_menu_container .parent", function(e) {
                e.preventDefault();
		var $this = $(this);
		 hash = $this.attr('href');
		 link = jQuery('a[href^="${location.hash}"]');
}


$(document).on("click", ".mobile_menu", function(e) {
e.preventDefault();
alert(link) // неопределенна
}
Ответить с цитированием
  #12 (permalink)  
Старый 18.05.2021, 18:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

ureech,
видимо мы друг друга, не понимаем ...
Ответить с цитированием
  #13 (permalink)  
Старый 18.05.2021, 20:04
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

<div class="menu_container">
	<a href="#" class="mobile_menu">Показать меню</a>
</div>
<div class="mobile_menu_container">
	<div class="mobile_menu_content">
		<ul>
			<li class="is-active">
				<a href="#" class="">Компьютерная техника1</a>
				<ul><li class="is-active">
					<a href="#" class="">Компьютерная техника2</a>
					<ul class="СЮДА"><li class="is-active">
						<a href="#" class="">Компьютерная техника3</a>
					</li></ul></li></ul></li></ul>
	</div>
</div>

Нужно получить последний <li class="is-active"> и его <ul> присвоить класс
Ответить с цитированием
  #14 (permalink)  
Старый 18.05.2021, 20:37
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

Ну вроде получил. Хотя меню пока как нужно не работает)
$(document).on("click", ".mobile_menu", function(e) {
		e.preventDefault();
		let menu = document.querySelector('.mobile_menu_container');
		let add = menu.querySelectorAll('li.is-active');
		
		link = add[(add.length)-1];
		link = $(link).parent();
		console.log($(link))
		
		if(link){
					
			$(".mobile_menu_container").addClass("loaded");
			$(".mobile_menu_overlay").fadeIn();
			$(link[0]).addClass("loaded").addClass("activity");
			}else{
			$(".mobile_menu_container").addClass("loaded"), $(".mobile_menu_overlay").fadeIn()
		}
		
	})
Ответить с цитированием
  #15 (permalink)  
Старый 18.05.2021, 20:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

ureech,
<!DOCTYPE html>

<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css"> ul.test{
        background-color: #FF0000;
    }

    </style>

</head>

<body>
<div class="menu_container">
    <a href="#" class="mobile_menu">Показать меню</a>
</div>
<div class="mobile_menu_container">
    <div class="mobile_menu_content">
        <ul>
            <li class="is-active">
                <a href="#" class="">Компьютерная техника1</a>
                <ul><li class="is-active">
                    <a href="#" class="">Компьютерная техника2</a>
                    <ul class="СЮДА"><li class="is-active">
                        <a href="#" class="">Компьютерная техника3</a>
                    </li></ul></li></ul></li></ul>
    </div>
</div>
<script>
let lis = [...document.querySelectorAll("li.is-active")];
lis.length &&  lis.pop().parentNode.classList.add("test");
</script>

</body>
</html>

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

Ну...У вас то покороче)))
Ответить с цитированием
  #17 (permalink)  
Старый 18.05.2021, 20:41
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

ureech,
lis.length добавлено
Ответить с цитированием
  #18 (permalink)  
Старый 18.05.2021, 20:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

ureech,
<!DOCTYPE html>

<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
    ul.test{
        background-color: #FF0000;
    }
    </style>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

    <script>
$(function() {
$("li.is-active:last").parent().addClass("test");
});
    </script>
</head>

<body>
<div class="menu_container">
    <a href="#" class="mobile_menu">Показать меню</a>
</div>
<div class="mobile_menu_container">
    <div class="mobile_menu_content">
        <ul>
            <li class="is-active">
                <a href="#" class="">Компьютерная техника1</a>
                <ul><li class="is-active">
                    <a href="#" class="">Компьютерная техника2</a>
                    <ul class="СЮДА"><li class="is-active">
                        <a href="#" class="">Компьютерная техника3</a>
                    </li></ul></li></ul></li></ul>
    </div>
</div>
</body>
</html>
Ответить с цитированием
  #19 (permalink)  
Старый 18.05.2021, 20:56
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 778

add.length && add.pop().parentNode.classList.addClass("loaded").addClass("activity");
[HTML]Uncaught TypeError: add.pop is not a function[/HTML]

console.log(add):
NodeList(3) [ li.is-active, li.is-active, li.is-active]
​
0: <li class="is-active">​
1: <li class="is-active">​
2: <li class="is-active">
​
length: 3
Ответить с цитированием
  #20 (permalink)  
Старый 18.05.2021, 21:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

ureech,
let lis = document.querySelectorAll("li.is-active");
lis.length && lis[lis.length - 1].parentNode.classList.add("test");
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Достать адрес родительской страницы и вставить в ссылку, находящуюся в iframe cirezha Общие вопросы Javascript 1 07.12.2020 20:21
Как в ссылку вставить ссылку на форму поиска? Espey Элементы интерфейса 39 26.04.2017 12:39
Как вставить ссылку JQurey_API jQuery 8 14.01.2014 16:31
Не могу вставить ссылку в код Salamander Общие вопросы Javascript 4 11.10.2013 15:49
Помогите вставить в форму не только чекбоксы но и выпадающий список seva_81 Серверные языки и технологии 3 20.09.2010 10:02