首页 > 解决方案 > 具有多个参数的 JQuery 自定义函数不起作用

问题描述

我尝试创建 JQUERY 以将 div 附加到现有 div

(function($){
  $.fn.alertme=function(){
    var opts = $.extend( {}, $.fn.alertme.defaults, options );
    $divContent =$('<div></div>').appendTo(opts.container);
    $divContent.prop('class','divclass');
  };

  $.fn.alertme.defaults = {
    container: "body",
    background: "yellow"
  };
})(jQuery);

这就是我所说的:

$(document).ready(function(){
  $('#testbutton').on('click',function(){
    $.alertme(
      {container : '#target'}
    );
  });
});

它的返回错误选项未定义

请帮帮我,我在这里做错了什么

标签: javascriptjqueryfunction

解决方案


将选项作为参数传递。

(function($){
  $.extend({
    alertme: function(options){
      var defaults = {
        container: "body",
        background: "yellow"
      };
      var opts = $.extend( {}, defaults, options );
      $divContent =$(opts.container).append('<div>abc</div>');
      $divContent.prop('class','divclass');
    }
  });
})(jQuery);

推荐阅读