10

私はこのような構文に本当にうんざりしています:

.css('position','absolute').css('z-index',z-index)
.css('border','1px solid #00AFFF').css('margin','-1px 0px 0px -1px')
.css('left',pleft)

次のように、1つの関数ですべてのパラメーターを渡す方法があるかどうか疑問に思います。

.foo('position':'absolute','z-index':z-index,
     'border':'1px solid #00AFFF','margin':'-1px 0px 0px -1px',
     'left':pleft)

どんな助けにも感謝します。

4

3 に答える 3

34

はい、オブジェクトをに渡します(ドキュメントに.css()も記載されています):

.css({
    position: 'absolute',
    left: pleft,
    zIndex: 123
    ...
});

キーには両方の構文を使用できることに注意してください。zIndexつまり、JavaScriptで直接使用できるキャメルケースバージョンと(そうでない場合は'z-index'引用符が必要です)。-

常に同じオプションの場合(あなたの場合はおそらくpositionborderそしてmargin)、クラス/IDセレクターを介して設定された従来のCSSルールを使用することをお勧めします。次に、を使用して残りの(動的)オプションを設定する必要があります.css()

于 2012-05-25T12:33:42.820 に答える
9

別のクラスでスタイルを定義する

css

.myCustomClass
{
     position: absolute;
     border: 1px solid #00AFFF
}

そしてjs

.addClass('myCustomClass');

そして、これはスタイルが複雑になりすぎる場合の管理が非常に簡単です

于 2012-05-25T12:35:37.547 に答える
0
$(element).css({'position':'absolute','z-index':zIndex,
     'border':'1px solid #00AFFF','margin':'-1px 0px 0px -1px',
     'left':pleft});
于 2012-05-25T12:37:32.803 に答える