Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.04.2021, 23:55
Интересующийся
Отправить личное сообщение для De12 Посмотреть профиль Найти все сообщения от De12
 
Регистрация: 21.08.2020
Сообщений: 22

Изменять данные в одном блоке, в зависимости от другого
Есть блок

<ul class="price">
<li data-link="link1" class="active">1</li>
<li data-link="link2" >2</li>
<li data-link="link3" >3</li>
<li data-link="link4" >4</li> </ul>

И рядом есть ссылка <a href="link1">Кнопка</a>

Список ul оформлен как селекты и при выборе какого-то из элемента списка, ему присваивается класс active, нужно что-бы в href="" у ссылки подтягивалась из параметра data-link у выбранного из списка элемента.
Ответить с цитированием
  #2 (permalink)  
Старый 26.04.2021, 01:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

De12,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[html run]
... минимальный код страницы с вашей проблемой
[/html]

О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #3 (permalink)  
Старый 26.04.2021, 01:19
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

De12,
<!DOCTYPE html>
<html>

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

<body>
    <ul class="price">
        <li data-link="link1" class="active">1</li>
        <li data-link="link2">2</li>
        <li data-link="link3">3</li>
        <li data-link="link4">4</li>
    </ul>
    <a href="link1">Кнопка</a>
    <script>
        document.querySelector(".price")
            .addEventListener("click", function(event) {
                let link = event.target.dataset.link;
                if (link) {
                    this.querySelector(".active").classList.remove("active");
                    event.target.classList.add("active");
                    document.querySelector("a").href = link;
                }
            });
    </script>
</body>

</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как выводить в одном модальном окне данные из разных карточек товара по клику на кноп Taison_007 Events/DOM/Window 1 03.10.2019 09:19
Изменение текста комментария только в одном блоке st0_orm jQuery 2 22.08.2017 00:56
Iframe: не получается обратиться к текстовому полю в одном фрейме из другого фрейма goffer2000 Events/DOM/Window 2 19.03.2015 14:08
как проверить класс в одном блоке и добавить в другой webdesing25 jQuery 1 18.07.2014 02:37
Обращение к переменным, созданным в одном фрейме из другого фрейма. snowfed Общие вопросы Javascript 7 13.01.2009 03:54