不确定我是否正确接近......
基本上我有一个插件结构:
(function($){
$.fn.xxxxx = function(options) {
var o = {
widgets: 'a,b,c',
a: {
id: 'abc',
title: 'ABC'
},
b: {
id: 'def',
title: 'DEF'
},
c: {
id: 'ghi',
title: 'GHI'
}
};
var options = $.extend(o, options);
return this.each(function(options){
var myplugin = {
init: function(){
var x = o.widgets.split(',');
$.each(x, function(i,v){
myplugin.widgets(i,v);
});
},
widgets: function(i,v){
var t = o.v.title ? '<h3>'+o.v.title+'</h3>' : '' ;
}
}
myplugin.init();
});
};
})(jQuery的);
是否可以使用o.widgets选项中的字符串值然后调用其中一个o.a,o.b,o.c选项?
基本上,a,b或c将传递给小部件功能,然后用于分配选项值。以下是我想要它做的,但它显然不会那样:
var t = o.v.title ? '<h3>'+o.v.title+'</h3>' : '' ;
任何帮助表示赞赏!
答案 0 :(得分:1)
嗯,关于Javascript的一个好处是,以下是等价的:
foo.bar === foo['bar'];
因此,如果您想访问o.a
,可以通过o['a']
访问它。
更进一步,您可以设置如下功能:
function herp (opt) {
return o[opt];
}
...并将其称为var foo = herp('a');
或其他内容。