jQuery scrollTop 动画返回 Uncatch TypeError

jQuery scrollTop animation returns Uncaught TypeError

本文关键字:Uncatch TypeError 返回 动画 scrollTop jQuery      更新时间:2023-09-26

我的jQuery代码(如下)遇到问题,我不明白为什么?

我正在尝试给我的网站一个scrollTop动画,正常工作正常,但是当我想使用ul li ul li a星座时,即使jQuery触发,它也会被卡住,我收到这样的错误:

Uncaught TypeError: Cannot read property 'top' of undefined

我对我的代码进行了摆弄,再次出现完全相同的情况:当我单击例如href="#5.1"

更新的代码:

$('ul li a').click(function(event) {
    var location = $(this).attr('href');
    $('html, body').animate({
        scrollTop : $(location).offset().top -10
    }, 800, function () {
       var location 2 = location.replace( "''" ,"");
    window.location.hash = location2;
});
    return false;
});

js小提琴示例

您的解决方案很简单!你必须逃脱.,就像这样:

<a href="#5'.1">Punkt 10: Header und Footer ohne ID ansprechen</a>

在线工作示例

要使用任何元字符(例如 !'"#$%&'()*+,./:;<=>?@[]^'{|}~ ) 作为名称的文字部分,它必须 逃脱。

选择器 | jQuery API 文档

编辑 1:

如果您想避免在实际 URL 中包含该',请尝试通过将简单的正则表达式应用于您的位置变量来删除它:

var location = location.replace(/''/g,"");
相关文章: