error401
@error401

Не работает простая ссылка. Появление ошибки при клике по ссылке. Как исправить?

Появилась непонятная ошибка при клике по ссылке. Заметил это после того, как заменил заглушку в ссылке.
Т.е., пока верстал сайт, ссылка была такого вида:
<a href=# class="ssilka"> Link </a>

Потом, вместо "#" поставил нормальную ссылку на регистрацию в ЛК и заметил, что ссылка не открывается при клике на неё левой кнопкой мыши. Перейти по ней можно только с помощью ПКМ -> открыть в новом окне. Что за ерунда? Код написан абсолютно верно, никаких ошибок нет.

Привожу пример кода:

<ul> 
<li><a href="https://пример-ссылки" class="left-but">Become our partner</a></li> 
</ul>


Далее, в консоли обнаружил такую фигню. При каждом клике по ссылке ЛКМ, консоль добавляет новую ошибку. Т.е. 1 клик = +1 ошибка. Вот скриншот консоли:

5d02552150a8d862175573.png

Что делать, как быть? Первый раз сталкиваюсь с таким.
  • Вопрос задан
  • 630 просмотров
Решения вопроса 1
KickeRocK
@KickeRocK
FrontFinish
$(document).ready(function(){
    $("#first-block").on("click","a", function (event) {
        event.preventDefault();
        var id  = $(this).attr('href'),
            top = $(id).offset().top;
        $('body,html').animate({scrollTop: top}, 1500);
    });
});

если у вас не получается понять в чем проблема, выводите в console.log(все пункты)
у вас id = реальной ссылке, не якорю, он пытается до неё проскроллить и не может...
вот так попробуйте
$(document).ready(function(){
    $("#first-block").on("click","a[href^='#']", function (event) {
        event.preventDefault();
        var id  = $(this).attr('href'),
            top = $(id).offset().top;
        $('body,html').animate({scrollTop: top}, 1500);
    });
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AlexanderBaranchugov
@AlexanderBaranchugov
Я такой
Проблема тут:
var id  = $(this).attr('href'),
     top = $(id).offset().top;


Ты получаешь id как значение атрибута href ссылки, далее полученное значение id ты подставляешь сюда: $(id).

Сама ошибка говорит о том, что значение id не подходит для использования в качестве селектора.
Проверь какие значения ты используешь для атрибута href

p.s.
In the first formulation listed above, jQuery() — which can also be written as $() — searches through the DOM for any elements that match the provided selector and creates a new jQuery object that references these elements:
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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