javascript – 无法获取未定义或空引用的属性“top”(IE 11)

我对
JavaScript很缺乏经验并使用模板.似乎无法弄清楚为什么在Internet Explorer中出现此错误.它适用于所有其他浏览器.

$('.navbar a, .navbar li a, .brand, #footer li a, .more a, a.go-top')
  .bind('click', function(event) {
    var $anchor = $(this),
    scrollVal = $($anchor.attr('href')).offset().top - 60;

    if (scrollVal < 0) {
      scrollVal = 0;
    }

    $('[data-spy="scroll"]').each(function() {
      $(this).scrollspy('refresh');
    });

    $.scrollTo(scrollVal, {
      easing: 'easeInOutExpo',
      duration: 1500
    });

    event.preventDefault();
  });

任何想法为什么会这样?

最佳答案 你看到的错误在第4行

    scrollVal = $($anchor.attr('href')).offset().top - 60;

这通常是因为你试图使用对象的属性并且它是未定义的.

在你的情况下$($anchor.attr(‘href’)).offset()可能是未定义的,
你需要看看$anchor是否未定义,或者它没有propierty href,所以它不能有

您可以使用开发人员工具(F12)和breack点来检查值.

你可以学习如何做到:
how to use console

祝好运

点赞