0

私はかなり基本的なjQueryプラグインを構築しようとしています(主に学習上の理由から)、limitメソッドを追加するまでエラーはありませんでした。これはかなり簡単に思えますが、コンソールに次のエラーが表示されます

Uncaught ReferenceError: 制限が定義されていません

以下の2番目のifメソッドに適用されます(コメントでマークされています)

$.fn.query = function(params) {

    // Parameters //
    var options = $.extend({
        'shuffle' : false,
          'limit' : undefined
    }, params),
        output = this;

    // Shuffle //
    if (shuffle) {
        output = shuffle(this);
    }

    // Limit // !!!ERROR!!! //
    if (limit !== undefined) {
        output = output.slice(0, limit);
    }

    return output;
};

次に、プラグインを実行します

var query = $(example).query({
    shuffle: true,
    limit: 5
});

私はすべてのベスト プラクティスに従おうとしましたが、何かおかしな点に気付いた場合はお知らせください。

すべてのコードを含む jsFiddle を次に示します。コンソールでエラーを確認できます。

http://jsfiddle.net/JamesKyle/CfXhw/

4

1 に答える 1

4

options.リミットの前に追加します。

options.limit

http://jsfiddle.net/JamesKyle/UWDsz/

オブジェクトを作成しているので、それにアクセスするには、オブジェクト名と変数名をピリオドで区切って使用しますobject.variable

修正された jQuery コード:

$.fn.query = function(params) {

    // Parameters //
    var options = $.extend({
        'shuffle' : false,
          'limit' : undefined
    }, params),
        output = this;

    // Shuffle //
    if (options.shuffle) {
        output = shuffle(this);
    }

    // Limit // !!!ERROR!!! //
    if (options.limit !== undefined) {
        output = output.slice(0, options.limit);
    }

    return output;
};
于 2012-08-31T20:11:45.173 に答える