我有这段代码:
var Monday = scheduledb({
"monday": true
}).count();
var Tuesday = scheduledb({
"tuesday": true
}).count();
var Wednesday = scheduledb({
"wednesday": true
}).count();
var Thursday = scheduledb({
"thursday": true
}).count();
var Friday = scheduledb({
"friday": true
}).count();
$$(".day-selector").each(function (index) {
$$(this).text(eval($$(this).attr("id")) + " classes");
});
我尝试做的是使用从元素的id属性获取的值并为其执行数据库查找。但.attr()
返回一个字符串,我无法从中获取变量值。如何在不使用eval()的情况下执行此操作?
答案 0 :(得分:3)
使用更好的模型,因此您无需使用eval
var days = {
Monday : scheduledb({"monday": true}).count(),
Tuesday : scheduledb({"tuesday": true}).count(),
...
};
而不是括号表示法:
$$( this ).text(days[$$( this ).attr("id")])
或者只是放弃查找
var obj = {};
obj[$$( this ).attr("id").toLowerCase()] = true;
$$( this ).text( scheduledb(obj).count() )