jQuery получение атрибута через attr

153
19 июля 2019, 01:50

Есть две кнопки, которыми вызываются модальные окна

            <a class="btn-show-modal js-show-modal" href="#js-block-modal">modal window</a> 
 
<a class="btn-show-modal js-show-modal" href="#js-block-modal2">modal window 2</a>

дальше есть скрипт jQuery который вызывает эти окна при нажатии на кнопку с класом .js-show-modal скрипт получает атрибут #js-block-modal и вызывает окно, вопрос почему скрипт всегда получает атрибут первой кнопки когда я нажимаю на вторую

   $('.js-show-modal').on('click', function(e){ 
        
        e.preventDefault(); 
 
        var currentModal = $('.js-show-modal').attr('href'); 
  
        $(currentModal + ', #js-overlay').fadeIn('fast'); 
 
    });

Answer 1

Вы берете не текущий элемент, по которому произошел клик, а первый элемент. Правильно работающий код:

   $('.js-show-modal').on('click', function(e){            
        e.preventDefault(); 
        var currentModal = this.attr('href');      
        $(currentModal + ', #js-overlay').fadeIn('fast'); 
    });

Таким образом, вы получите через this текущий элемент.

READ ALSO
Парсинг с помощью Html Agility Pack

Парсинг с помощью Html Agility Pack

Пытаюсь вытащить температуру из html кода страницы:

125
Call Back API VK и WindowsForm С#

Call Back API VK и WindowsForm С#

Задалась целью написать простенького бота для вк на C#Хочу, чтобы бот был в сообщениях группы

150
DataGridView не отображает данные таблицы с файла

DataGridView не отображает данные таблицы с файла

Я для себя делаю кроссвордВот вопрос, почему в таблице не отображает с файла? Вот так я реализую код, все находится на 1 форме Crossword:

136
Алгоритм визуализации дерева

Алгоритм визуализации дерева

Как реализовать вертикальную иерархию дерева? Дерево - с произвольным количеством дочерних вершинУзел дерева хранит условные координаты...

174