@LVitA

Почему не работает attr()?

Помогите найти ошибку, $(this) выводит объект, но attr("href") не может найти значение, что не так?

<div class="content-aside">
              <ul>
                <li><a href="#recipe">Разработка рецептуры</a></li>
                <li><a href="#packaging">Разработка и дизайн упаковки</a></li>
                <li><a href="#license">Лицензирование</a></li>
                <li><a href="#packing">Фасовка готовой продукции</a></li>
              </ul>
</div>


$(document).ready(() => {
        $('.content-aside').on('click', 'a', (event) => {
            event.preventDefault();

            let sc = $(this).attr("href");
            console.log($(this))
            let dn = $(sc).offset().top;

            $('html, body').animate({ scrollTop: dn }, 1000);
        })
    });
  • Вопрос задан
  • 140 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Чем является this внутри обработчика клика? Не тем, что вам кажется. Замените $(this).attr("href") на $(event.target).attr("href") или стрелочную функцию на обычную.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы