Javascript jQuery,get.attr(";id";),基于id调用函数
我不想运行一个大的if,else,else,else类型语句。我基本上是在寻找一个excel INDIRECT()等价物,在这里我得到id的字符串,并根据我迭代的id将该字符串作为函数调用。 我有jQuery生成微调器所基于的类的输入Javascript jQuery,get.attr(";id";),基于id调用函数,javascript,jquery,Javascript,Jquery,我不想运行一个大的if,else,else,else类型语句。我基本上是在寻找一个excel INDIRECT()等价物,在这里我得到id的字符串,并根据我迭代的id将该字符串作为函数调用。 我有jQuery生成微调器所基于的类的输入 $(document).ready(function(){ var primary = $(".spinnerPrimary"); var secondary = $(".spinnerSecondary"); primary.spinne
$(document).ready(function(){
var primary = $(".spinnerPrimary");
var secondary = $(".spinnerSecondary");
primary.spinner({
min: 7,
max: 20,
});
primary.spinner("value", 10);
secondary.spinner({
min: -4,
max: 4
});
secondary.spinner("value", 0);
在执行max、min等操作时,我想执行一个spin事件,该事件调用一个函数来更新各种span容器。我可以运行一个只更新每个跨度的函数,或者运行一个大的if/else/else case类型语句,所以我有选项。我真正想要的是使用this.attr(“id”)
提取id,这样每个微调器都有一个基于该输入微调器id的旋转集,即与定义函数名称对应的同一字符串
$(document).ready(function(){
var primary = $(".spinnerPrimary");
var secondary = $(".spinnerSecondary");
primary.spinner({
min: 7,
max: 20,
spin: //fancy code
});
primary.spinner("value", 10);
secondary.spinner({
min: -4,
max: 4,
spin: //same fancy code
});
secondary.spinner("value", 0);
function x() {
//fancy equation code
};
function y() {
//fancy equation code
};
在上面的示例中,如果id是“x”,那么我希望它调用函数x(),id=“y”调用y(),等等。我在寻找如何执行此特定场景,而不是如何以另一种方式执行(例如,基于已知id和相应函数运行if/else)。如果我提到的两个备选方案是实现这一目标的唯一方法,那么就这样吧
重复另一个问题:非常相似,但也需要帮助映射函数并将其应用于微调器。对于jQuery来说还是个新问题,所以是一个多方面的(?)问题 这样试试:
//将函数设置为映射,以便于
//可通过名称访问。
var fns={
x:函数(){
log('running x!');
},
y:函数(){
console.log('runningy!');
}
}
主要变量=$(“.spinnerPrimary”);
primary.spinner=函数(选项){
//将“spin”函数绑定到微调器。
console.log('spinning');
options.spin();
}
主旋转器({
民:7,,
最高:20,
//将“spin”分配给上面的一个“fn”
//使用'id'作为密钥。
自旋:fns[primary.attr('id')]
});代码>
太棒了,非常感谢!这涉及到我不太熟悉的东西,所以是时候做更多的研究了,但你为我指明了正确的方向。非常感谢。