对象不支持jquery插件的属性或方法

Object doesn't support property or method jquery plugin

本文关键字:属性 方法 插件 不支持 jquery 对象      更新时间:2023-09-26

我正在尝试扩展现有的jquery插件如下。

 $.fn.cslide = function (options) { //added options & settings
    var settings = $.extend({
        Model : null
    })
    this.each(function () {
        //init code etc etc
        var modelDataJSON = null;
        if (settings.Model) {
            modelDataJSON = settings.Model;
        }
        //function declarations and implementations
    }
}

到目前为止都很好。但是当我运行这段代码时,

<script type="text/javascript">
    $("#cslide-slides").cslide(@Html.Raw(JsonConvert.SerializeObject(Model)));
</script>

他不认识JSON,返回

对象不支持属性或方法

错误。这是我第一次扩展现有的jquery插件,所以我遵循了以下指南。

Jquery插件教程

你们谁能给我指个方向吗?

我试着做以下事情

  • 通过
  • 发送字符串通过发送静态json
  • $("#cslide-slides").cslide({ @Html.Raw(JsonConvert.SerializeObject(Model)) });

您没有将options对象作为extend语句中的第二个参数传递。此外,最好用分号

结束该语句。
var settings = $.extend({
    Model : null
}, options);

由于$.extend有效地合并了后面对象参数的内容,因此您总是需要至少两个参数才能使语句有意义。