ogregor
@ogregor
арендатор vpn сервера debian

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

Здравствуйте столкнулся с проблемой и пока не смог ее "красиво обойти".
Есть элементы HTML
<ul>
                    <li><a href="events" class="btn-menu">1</a></li>
                    <li><a href="about" class="btn-menu">2</a></li>
                    <li><a href="gallery" class="btn-menu">3</a></li>
                    <li><a href="connection" class="btn-menu">4</a></li>
                    <li><a href="teachers" class="btn-menu">5</a></li>
                    <li><a href="cooperations" class="btn-menu">6</a></li>
</ul>


Есть обработчик который должен получить href

jQuery(document).ready(function($) {
    $('.btn-menu').on('click', function(event) {
        event.preventDefault();
// получаем адрес для загрузки. 
var href = './a_vie/content/' + $(this).attr('href') + '.php';
        
// закрываем меню
      var e = jQuery.Event( "click" );
      $( ".cd-close" ).trigger( e );
 
      $('#modal-about').modal({
          remote: href
      });
    });
});


Собственно при обращении к текущему элементу:
// получаем адрес для загрузки.
var href = './a_vie/content/' + $(this).attr('href') + '.php';
Получает данные первого элемента из класса btn-menu. Каким образом без существенного увеличения кода, решить проблему парсинга атрибутов у текущего элемента массива
  • Вопрос задан
  • 130 просмотров
Решения вопроса 1
ogregor
@ogregor Автор вопроса
арендатор vpn сервера debian
На самом деле проблема в модальных окнах, которые асинхронно загружают контент. (В случае если с одним и тем же классом модальных окон, привязано несколько вызывающих обьектов)
Перед инициализацией вывода нового модального окна, надо очистить кеш:
$('#modal').removeData();
Либо запретить на более высоком уровне.
$.ajaxSetup({
cache: false
})
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
frost18
@frost18
Программист PHP
Попробуйте в место $(this) использовать $(event.target);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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