不能使用动态生成的字符串作为 jQuery 选择器
Can't use dynamically generated string as jQuery selector
我想使用 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)
引号是文字字符串语法的一部分,它们实际上并不在字符串本身中。
我想使用 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)
引号是文字字符串语法的一部分,它们实际上并不在字符串本身中。