如何使用 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
});
}
我正在尝试构建一个 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
});
}