@seregindev

Как избавиться от ошибки Uncaught Error: Syntax error, unrecognized expression: #(…)"?

Доброго времени суток, возникло 2 вопроса.
1) при клике на логотип сайт, который имеет якорь "#" и отправляет на верх сайт, выдаётся ошибка.(ругается на 4-ю строчку)
Текст ошибки:
Uncaught Error: Syntax error, unrecognized expression: #(…) - "jquery.js?ver=1.12.4:2

2) В 8й строке, у меня происходит переход на главную страницу и мне нужно выполнить оставшийся код, который идёт после else. Проблема в том, что этот код выполняется моментально, а мне нужно сделать так, чтобы он выполнялся только после того, как произойдёт переход на страницу.
af82cc62afbc41acb607037f24902b18.png
eeb081cd8aae4b3585658d0274155d62.png
jQuery(function($) {
var homepage = 'http://rcamedia.ru/';
$('a[href*=#]').live('click', function(event) {
  var attrib = $(this).attr('href');
  console.log(attrib);
    if($("div").is(attrib)) {}
     else {
      document.location = homepage;
    }
    event.preventDefault();
    var target_offset = $(this.hash).offset() ? $(this.hash).offset().top : 0;
    //change this number to create the additional off set
    var customoffset = 85;
    $('html, body').animate({scrollTop:target_offset - customoffset}, 500);
    console.log("Done!");
});

}(jQuery));
  • Вопрос задан
  • 6983 просмотра
Решения вопроса 1
@Sayonji
Ошибка вот здесь: $("div").is(attrib)
У некоторой ссылки прописано href="#", соответственно attrib === '#', а это невалидный селектор.

Документация метода $.is()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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