jQuery 影响我的 HTML 图片链接的代码?

jQuery code affecting my HTML image links?

$(document).ready(function(){
  $('body a').click(function(e){
    e.preventDefault();
    var goTo = $(this).attr('href').replace('#','');
    $('html, body').animate({
        scrollTop:$('a[name="'+goTo+'"]').offset().top
    },1775);

    window.location.hash = "#"+goTo;

});

我的代码中有这个函数可以在我的页面上实现滚动效果,但是我认为它影响了我的图像 links。当我点击一张图片时,它不会 link 任何地方。我相当确定这里有错误,但需要一些帮助才能找到它。

谢谢。

确保 href 中有一个散列 #,然后再更改任何内容,以便正常链接仍然有效。

一种方法是检查元素的 hash 属性

if(this.hash){
  e.preventDefault();
  // rest of code shown 
}

也可以使用属性选择器只过滤掉 href

中带有 # 的链接
 $('body a[href^=#]').click...

最后一个假定所有哈希链接都是相对的并且 href 以 #

开头