0

要素の CSS を更新する前に JSON オブジェクトを作成しようとしていますが、要素の CSS が更新されません。

私のコード:

var style = $.parseJSON("{\""  + attrName +  "\":\""  + $(this).val() +  "\"}");                                
elContainer.css(style);
4

2 に答える 2

2

JS オブジェクトを作成するだけでなく、JSON 文字列を作成してから解析するのはなぜですか?

私が誤解していない限り、これはあなたがすべきことです:

var style = {};
style[attrName] = $(this).val();
eleContainer.css(style);

または、本当に 1 つの CSS 属性を設定するだけの場合は、次のように @Nick が提案したようにすることができます。

eleContainer.css(attrName, $(this).val());

ところで、それが実際のコードである場合、連結子がないため、おそらくエラーが発生するでしょう+


アップデート:

.css()一致する要素のセットに対する 1 回限りの設定です。まだ存在しない要素に適用される永続的な CSS ルールは作成されません。

特定の CSS スタイルを特定の要素のセットに適用する代わりに、実際に CSS ルールを作成したい場合は、<style>タグを動的に作成できます。

$("<style> .container { "+ attrName +": '"+ $(this).val() +"'; } </style>")
    .appendTo('body');

関連項目:実行時に jQuery を使用して CSS ルール/クラスを作成する

于 2013-07-03T13:22:29.290 に答える
1

オブジェクトを作成しなくても、JSON を解析しなくても、単一の CSS 属性を設定できます。

eleContainer.css(attrName, $(this).val());
于 2013-07-03T13:25:13.037 に答える