1

私はデータテーブルを使用しており、以下をコードに追加することをお勧めしました:

$.fn.dataTableExt.oStdClasses.sWrapper = 'no-margin last-child';
$.fn.dataTableExt.oStdClasses.sInfo = 'message no-margin';
$.fn.dataTableExt.oStdClasses.sLength = 'float-left';
$.fn.dataTableExt.oStdClasses.sFilter = 'float-right';
$.fn.dataTableExt.oStdClasses.sPaging = 'sub-hover paging_';
$.fn.dataTableExt.oStdClasses.sPagePrevEnabled = 'control-prev';
$.fn.dataTableExt.oStdClasses.sPagePrevDisabled = 'control-prev disabled';
$.fn.dataTableExt.oStdClasses.sPageNextEnabled = 'control-next';
$.fn.dataTableExt.oStdClasses.sPageNextDisabled = 'control-next disabled';
$.fn.dataTableExt.oStdClasses.sPageFirst = 'control-first';
$.fn.dataTableExt.oStdClasses.sPagePrevious = 'control-prev';
$.fn.dataTableExt.oStdClasses.sPageNext = 'control-next';
$.fn.dataTableExt.oStdClasses.sPageLast = 'control-last';

この構文がわかりません。誰かがそれが何をしているのか説明できますか。また、これらの行をすべて組み合わせる方法はありますか。最初の 30 列はすべて同じです。

4

3 に答える 3

7

このコードはプロパティを追加しています$.fn.dataTableExt(ご覧のとおり)。これらのプロパティは、おそらくDRYパターンの一部として拡張機能の構成文字列として使用されるため、頻繁に使用される値を変更する必要がある場合でも、多数の場所で変更する必要はありません。

このコードは、$.extendを使用することで改善される可能性があります:

$.extend($.fn.dataTableExt.oStdClasses, {
    sWrapper: 'no-margin last-child',
    sInfo: 'message no-margin',
    sLength: 'float-left',
    ...
});
于 2012-07-27T16:14:44.043 に答える
1

少なくとも、これを行うことができます:

$.extend($.fn.dataTableExt.oStdClasses, {

  sWrapper: 'val',
  sInfo: 'val',
  ...

});
于 2012-07-27T16:15:48.567 に答える
1

正確ではありませんが、インスタンスを変数に保存してから、より単純なベースでそれらを参照できます。

var someObject = $.fn.dataTableExt.oStdClasses;
someObject.sWrapper = 'no-margin last-child';
someObject.sInfo = 'message no-margin';
someObject.sLength = 'float-left';
someObject.sFilter = 'float-right';
someObject.sPaging = 'sub-hover paging_';
someObject.sPagePrevEnabled = 'control-prev';
someObject.sPagePrevDisabled = 'control-prev disabled';
someObject.sPageNextEnabled = 'control-next';
someObject.sPageNextDisabled = 'control-next disabled';
someObject.sPageFirst = 'control-first';
someObject.sPagePrevious = 'control-prev';
someObject.sPageNext = 'control-next';
someObject.sPageLast = 'control-last';
于 2012-07-27T16:14:32.523 に答える