Javascript Can';t使用动态生成的字符串作为jQuery选择器
我想使用Javascript Can';t使用动态生成的字符串作为jQuery选择器,javascript,jquery,scrollto,quotation-marks,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, {dura
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)
引号是文字字符串语法的一部分,它们实际上不在字符串本身中。您不需要在字符串中加引号,只需正常连接字符串即可
$("#jour" + i)
引号是文字字符串语法的一部分,它们实际上不在字符串本身中。var rr=$(“#jour”+i);因此,如果i=1,var rr将=$(“#jour1”);我又试了一次。很好。非常感谢。var rr=$(“#jour”+i);因此,如果i=1,var rr将=$(“#jour1”);我又试了一次。很好。非常感谢。这不是我说的吗?是的,但你没有把它作为答案发表,评论也没有详细说明原因。这不是我说的吗?是的,但你没有把它作为答案发表,评论也没有详细说明原因。