jQuery在单击时滚动到锚点,javascript中出现错误;未捕获类型错误:无法读取属性';顶部';“未定义”的定义;

jQuery在单击时滚动到锚点,javascript中出现错误;未捕获类型错误:无法读取属性';顶部';“未定义”的定义;,javascript,jquery,html,scroll,Javascript,Jquery,Html,Scroll,这是我的代码,我将感谢任何人的帮助 我收到一条错误消息 未捕获的TypeError:无法读取未定义“”的属性“top” 当我点击anchor:C时,我真的不明白为什么,因为所有其他jQuery位都可以工作 Javascript: $(函数(){ $(“a”)。单击(函数(){ if(this.hash){ 警报(this.hash); $(“body,html”).animate({scrollTop:jQuery(this.hash).offset().top()},2000); 返回fals

这是我的代码,我将感谢任何人的帮助

我收到一条错误消息

未捕获的TypeError:无法读取未定义“”的属性“top”

当我点击anchor:C时,我真的不明白为什么,因为所有其他jQuery位都可以工作

Javascript:

$(函数(){
$(“a”)。单击(函数(){
if(this.hash){
警报(this.hash);
$(“body,html”).animate({scrollTop:jQuery(this.hash).offset().top()},2000);
返回false;
}
});
});
$(文档).ready(函数(){
var mn=$(“.nav”);
hdr=$(“.nav”).height();
$(窗口)。滚动(函数(){
var wScroll=$(this.scrollTop();
如果(wScroll>hdr-20){
mn.addClass(“导航滚动”);
}否则{
mn.removeClass(“navScroll”);
}
});
});

这个特殊的元素似乎没有合适的元素,比如
#+location.hash
。谢谢,但是我该如何修复它呢?例如,如果你的“坏”散列是
#about
,显然你没有id为
about
的元素。这很奇怪,在我的html中,有#1、#2和#3个id连接到不同的锚。当我控制台.log时(this.hash);单击定位点时,它会显示#1#2和#3:/抛出错误之前,您在警报
警报(this.hash);
中看到了什么?