我有以下代码:
$.fn.newActivity = function(ops) {
var defaults = {
name: "activityNew",
actionBar: "true"
};
var ops = $.extend( {}, defaults, ops);
var newElem= $("<div>");
newElem.addClass(defaults.name);
return this.append(newElem);
};
现在当我像这样调用插件时:
$("body").newActivity({
name: "menu",
actionBar: "false"
});
我在调用插件时设置的新选项不会覆盖默认选项。请问我的代码有什么问题。我搜索了Google,仍然无法在我的代码中找到错误。
更多信息
当我运行代码时,我希望将div
元素附加到body并具有menu
类。
答案 0 :(得分:0)
这是因为您使用的是default
对象var而不是ops
,请尝试使用ops。
ops
将包含使用插件代码中提供的默认值扩展的传递选项。
代码:
$.fn.newActivity = function(ops) {
var defaults = {
name: "activityNew",
actionBar: "true"
};
var ops = $.extend( {}, defaults, ops);
var newElem= $("<div>");
newElem.addClass(ops.name);
return this.append(newElem);
};
$("body").newActivity({
name: "menu",
actionBar: "false"
});