如何使用 rails 和 javascript 找到 return 我的 div 元素?

How can I find and return my div element with rails and javascript?

我正在尝试构建一个 javascript 的片段,它从网页中获取 url 以查看地址中是否包含锚点,然后它将向下滚动页面到锚,我必须这样做,因为 bootstraps sticky-top nav 阻止了我试图查看的元素的视图。

我的js长得像

findLink = function(){
  link = document.location.href
  parseLink(link)
}

parseLink = function(link) {
  if (link.split('').includes('#')) {
    post_id = link.split('#')[1];
    moveLink(post_id)
  }
}

moveLink = function(post_id){
  element = $('#+post_id').get()

}

$(document).on('turbolinks:load', findLink()) ||
$(document).on('page:load', findLink())

我的问题是即使我试图找到

console.log($('#my_id')) # returns jQuery.fn.init {}
console.log($('#my_id').get()) # returns an empty []

我得到两个空数组。 我不确定为什么会发生这种情况或如何解决它。

我最终写了一些 JS,它并不完美,但它完成了工作。

document.addEventListener('turbolinks:load', function(){
  link = document.location.href
  parseLink(link)
});

parseLink = function(link) {
  if (link.split('').includes('#')) {
    post_id = link.split('#')[1];
    moveLink(post_id)
  }
}

moveLink = function(post_id){
  element = document.getElementById(post_id)
  $('html,body').animate({
    scrollTop: $(element).position().top -= 200
   });
}