$('#ulLeft li').click(function () {
x = $(this).index();
change();
});
function change(){
$('.cAct').removeClass().addClass('cPass');
alert (x); //works fine
$('#ulLeft li:eq(x)').removeClass().addClass('cAct'); //doesn't work
}
在最后一行x
不可见
用一些整数改变x
- 工作
有什么建议吗?
答案 0 :(得分:2)
试试这个:
$('#ulLeft li:eq(' + x + ')').removeClass().addClass('cAct');
由于x
是变量,因此您需要针对分配给变量的值检查:eq
。
答案 1 :(得分:1)
使用$('#ulLeft li:eq('+x+')')
代替$('#ulLeft li:eq(x)')
由于x
是一个变量,您需要使用字符串连接
或使用.eq()
$('#ulLeft li').eq(x)
答案 2 :(得分:1)
您必须concatenate
使用x
变量string
来实现所需。
尝试,
$('#ulLeft li:eq('+ x +')').removeClass().addClass('cAct');
或者使用.eq(index)来进行连接。
$('#ulLeft li').eq(x).removeClass().addClass('cAct');