Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как обойти присвоение одинаковых id двум блокам? (https://javascript.ru/forum/jquery/75071-kak-obojjti-prisvoenie-odinakovykh-id-dvum-blokam.html)

NeonMan 30.08.2018 21:39

Как обойти присвоение одинаковых id двум блокам?
 
Подскажите пожалуйста, есть функция:
$('.year-list li:first').addClass('year-list__item_active');
    $('.graph-text').hide();
    $('.graph-text:first').show();
    $('.year-list li').click (
        function () {
            $('.year-list li').removeClass('year-list__item_active');
            $(this).addClass('year-list__item_active');
            $('.graph-text').hide();
            var activeItem = $(this).find('a').attr('href');
            $(activeItem).fadeIn(600);
            return false;  
});

Здесь по клику на ссылку открывается блок с id, который прописан в ссылке href="#id"
Нужно что бы открывалось два блока сразу, они разные по содержанию, но должны оба открываться по нажатию на ссылку, одинаковые id присвоить двум блокам нельзя, подскажите как поступить в такой ситуации?

Aetae 30.08.2018 21:50

Если в лоб, то например так
$('[id^="' + activeItem.slice(1) + "]').fadeIn(600);
Применится ко всем элементам, id которых начинается с #id: #id, #id2, #id-парам-пам-пам...

NeonMan 30.08.2018 22:13

спасибо

NeonMan 30.08.2018 22:21

Но это нужно прописать в href="#id1, #id2" что бы оба открылись или как?

рони 30.08.2018 22:27

NeonMan,
сделайте класс нужным блокам

NeonMan 30.08.2018 22:36

класс задам class="class1" class="class2" для нужных блоков, тогда что писать в href ссылки, по нажатию на которую они открываются?

laimas 30.08.2018 22:44

Цитата:

Сообщение от NeonMan
что бы открывалось два блока сразу, они разные по содержанию, но должны оба открываться

Значит их нужно сгруппировать, классом ли, id или общим родителем.

рони 30.08.2018 22:49

Цитата:

Сообщение от NeonMan
тогда что писать в href ссылки, по нажатию на которую они открываются?

ничего
<a href="#" data-cls=".red"></a>
<div  class="red"></div>
<div  class="red"></div>
<div  class="red"></div>


var activeItem = $(this).find('a').data('cls');

NeonMan 30.08.2018 22:49

И может быть Вы сталкивались с таким моментом, тут когда жмешь на год, внизу добавляется подчеркивание с кругом на конце, жмешь на следующий, добавляется подчеркивание дальше, нажимаешь на предыдущий, убирается, нажимаешь на три назад, убирается с трех

http://joxi.ru/RmzQkQXC06VJMr

И можно ли удалить созданную тему? В разделе форматирования не нашел.

NeonMan 30.08.2018 22:50

отличное решение! спасибо (data-cls)


Часовой пояс GMT +3, время: 11:10.