我想将变量设置为.prev()
或.next()
,例如:
if(x == y)
var shift = '.prev()';
else
var shift = '.next()';
$("li.active").removeClass('active')shift.addClass('active');
我可能会使用eval()
,但这会带来安全隐患。
我错过了一些明显的东西吗?
答案 0 :(得分:5)
使用bracket notation [spec]可以访问对象的每个属性
foo.bar()
与foo['bar']()
相同:
if(x == y)
var shift = 'prev';
else
var shift = 'next';
// or a shorter and nicer way:
// var shift = x == y ? 'prev' : 'next';
$("li.active").removeClass('active')[shift]().addClass('active');