2016-08-16 4 views
0

私は多言語のウェブサイトを持っています。言語に応じて私のコンテナの位置を変更したいと思います。このため私はそれに応じてコードを試して、その位置を変更する必要があります。Jquery:cssプロパティで変数を使用できますか?

prop = lang == 'ar' ? 'right' : 'left'; 
$('#head').css({ prop : 200 }); 

しかし、私は静的なプロパティを置くとき、これを達成することはできません。私は他の方法があることを知っていますが、これのように可能ではありませんか?

答えて

2

名前付きプロパティが必要なcssのバージョンを使用しています。他のバージョンを使用してください。

prop = lang == 'ar' ? 'right' : 'left'; 
$('#head').css(prop, "200"); 
3

オブジェクトを最初に作成し、それをcss関数に渡すことができます。

prop = lang == 'ar' ? 'right' : 'left'; 
var styles = {}; 
styles[prop] = 200; 
$('#head').css(styles); 
+0

おかげで、これは動作します。それが私を許すなら、答えとしてそれをマークします。 –

+1

レコードの場合、ES6では、計算されたプロパティ名を使用できます。 – gcampbell

+1

@DanishAdeel:確かに動作しますが、 '$( '#head')を使うだけで2行余分なコードと複雑さが増えます。 :) –

1

は、あなたが以下のように試してみました:

var prop = lang == 'ar' ? 'right' : 'left'; 
var cssObj = {}; 
cssObj[prop] = 200; 
$('#head').css(cssObj); 
関連する問題