打字稿中的jQuery:类型'JQueryStatic <HTMLElement>'。ts上不存在属性'attr'

时间:2019-08-02 12:53:54

标签: jquery typescript

我在打字稿中使用jQuery,并希望添加平滑的滚动。

我收到一个错误
  

jquery中的$ .attr:类型“ JQueryStatic”上不存在属性“ attr”

如何处理此错误?

$(document).on('click', 'a[href^="#"]', function (event) {
  event.preventDefault();

  $('html, body').animate({
    scrollTop: $($.attr(this, 'href')).offset().top
  }, 500);
});

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

$(document).on('click', 'a[href^="#"]', function (event) {
  event.preventDefault();
  var offset = $(this).offset().top;

  $('html, body').animate({
    scrollTop: offset
  }, 500);
});

我认为应该遵循这些原则。我认为您要尝试获取的属性偏移量是无效的:

$(this).attr('href').offset // undefined

您需要获取刚刚单击的元素的偏移量。

$(this).offset().top