我在这里的 jsFiddle 中设置了这个问题:http: //jsfiddle.net/GeekStocks/WHtCv/
我正在编写一个 jQuery 插件实例方法,但终其一生都找不到正确的语法来覆盖嵌套对象属性的值!这是代码(来自 jsFiddle):
jQuery.fn.test = function(options) {
var defaults = {
settings: {
height: 0, // must be computed
width: 0, // must be computed
scale: 0.20 // percentage of the >> height <<
},
simpleVar: "Hola hombre." // default is masqualine
};
var opts = jQuery.extend(defaults, options); // override defaults
this.val(opts.simpleVar + "\nScale: " + opts.settings.scale);
};
现在,如果我想覆盖“simpleVar”,这很容易:
$("#t1").test({simpleVar: "Hola senora."});
但是改变“设置”对象的“比例”属性让我望而却步......
$("#t2").test({"settings.scale": 0.86}); // uh, nope!
任何人?可能很简单,对吧?:-) 谢谢!