javascript - 无法使用动态生成的字符串作为 jQuery 选择器

标签 javascript jquery scrollto quotation-marks

我想使用 i 中的值构建一个新 ID 以在我的 scrollto 函数中使用,但它不起作用。

$('.calendar').each( function(i){

  $(this).attr('id',i).css({'margin-left':'2.5px'}).text(i+5).on('click',function(){

    var rr="$('"+"#jour"+i+"')"
    alert(rr)

    $(".layerJour").scrollTo(rr, {duration:300})

  })

});

当我使用警报时,它完全按照我想要的方式工作:

var rr="$('"+"#jour"+i+"')"
alert(rr)

但是在这里使用时它不起作用:

$(".layerJour").scrollTo(rr, {duration:300})

如果我执行以下操作,它就会起作用,这很奇怪,因为它使用的名称与我使用 alert 时的名称完全相同。

$(".layerJour").scrollTo($('#jour1'), {duration:300})

出了什么问题?

最佳答案

您不需要在字符串中添加引号,只需正常连接字符串即可。

$("#jour" + i)

引号是文字字符串语法的一部分,它们实际上并不在字符串本身中。

关于javascript - 无法使用动态生成的字符串作为 jQuery 选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48592442/

相关文章:

javascript - 根据分区标题更改页面标题

javascript - JQuery 自动完成问题

javascript - 使用 jQuery 滚动插件避免 url 上的 #

javascript - 当我点击标签时,提示生成结果

javascript - Express JS 的 session.generate() 函数的源代码在哪里?

javascript - 单击幻灯片图像以强制执行一步

jquery - 首次访问页面后,CSS 高度转换不适用于 iphone

javascript - 是否有解决方案可以从 Microsoft Office 程序正确打开经过用户身份验证的 URL?

javascript - ScrollTo:定位导航栏中的特定按钮

javascript - 如何正确添加.scrollTo插件?