Я пытаюсь сопоставить некоторые идентификаторы, но не любой идентификатор, который является числом.Например, я бы хотел соответствовать #about
, но не совпадать #67
или #123
.
Вот мой jQuery с небольшим количеством регулярных выражений.Я думаю, что регулярное выражение верное, но оно не обрабатывается правильно, поскольку не href="#<number>"
$('a[href*="#"]:not([href="#"],[href="#\d+"])').click(function() {
if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'')
|| location.hostname == this.hostname) {
var target = $(this.hash);
target = target.length ? target : $('[name=' + this.hash.slice(1) +']');
if (target.length) {
$('html,body').animate({
scrollTop: target.offset().top -60
}, 1500);
return false;
}
}
});
Есть ли какой-то способ, которым я должен был бы избежать этого регулярного выражения или вставить егокак переменная или ...?