2017-03-19 6 views
0

JavaScriptの関数を使用して、CSSのプロパティ/値のペアのハッシュをjqueryのcss関数に渡す方法を教えてください。パラメータを渡してjquery css()を返します。

var $myFunction = function(el, c){ 

    $(el).css(c); 
    //$(el).css({c}); 

}; 

$myFunction("#myDiv", '{top:50px}'); 
//$myFunction("#myDiv", 'top:50px'); 

編集:私は、私はどこ私は私の人生のために

Here's the UPDATED fiddle

を見ることができない... PER DANフィリップの答えAS実用的なソリューションを表示するには、このFIDDLEを更新しました間違っている - 同じように多くの異なる順列を試みた。あなたが .css(properties)方法に(設定するプロパティと値のペアの)オブジェクトを渡す必要が

乾杯、スコット

答えて

0

CSS方式はジャスト行う

$(elem).css({ 
    "border" : "1px solid blue", 
    "display" : "block",  
    "background" : "#F00" 
}); 

だからあなたのコードが

$myFunction("#myDiv", { 
    "top" : "50px" 
}); 
+0

多くの感謝!私はあなたの解決策を反映するために質問のフィドルを更新しました。乾杯、S –

+0

お手伝いします! –

0

はとても受け入れ見てみることができます誰にも事前に

多くのおかげで...あなたの機能にも。

$myFunction("#myDiv", { 
    top: "50px", 
    background: "red" 
}); 

Updated Fiddle

0

に変更する必要があり、次の形式でのparamsをとる

$(el).css(JSON.parse(c));

問題を解決するには

注:また、プロパティを作成するときに引用符を使用する必要があります。値のペア、あなたのように自分のパラメータを構築する必要がある。すなわち '{トップ: "は50px"}'

の.css()関数は、プロパティと値のペアを受け入れるPlainObjectを受け入れます。 $ myfunctionを呼び出すと、2番目のパラメータが文字列として渡されます.JSON.parse()は、有効なオブジェクトに変換します。

乾杯

関連する問題