jquery中不覆盖插件默认值

jquery中不覆盖插件默认值,jquery,plugins,Jquery,Plugins,我有以下代码: $.fn.newActivity = function(ops) { var defaults = { name: "activityNew", actionBar: "true" }; var ops = $.extend( {}, defaults, ops); var newElem= $("<div>"); newElem.addClass(defaults.name);

我有以下代码:

$.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);
};
我在调用插件时设置的新选项不会覆盖默认选项。请问我的代码有什么错误。我已经在谷歌上搜索过了,但仍然找不到我代码中的错误

更多信息
当我运行代码时,我希望
div
元素被附加到body中,并且有一个
菜单类

,这是因为您使用的是
默认值
对象变量,而不是
ops
,请尝试使用ops

ops
将包含通过插件代码中提供的默认值扩展的传递选项

代码:

$.fn.newActivity=功能(ops){
var默认值={
名称:“活动新”,
actionBar:“真的”
};
var ops=$.extend({},默认值,ops);
var newElem=$(“”);
newElem.addClass(操作名称);
返回此.append(newElem);
};
$(“正文”).newActivity({
名称:“菜单”,
操作栏:“错误”
});

演示:

在这里工作正常:。你能把你面临的问题扩展一下吗?它正常工作,在上面,问题是什么?
$("body").newActivity({
    name: "menu",
    actionBar: "false"
});
$.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"
});