10

要素のスタイル属性を変更するだけでなく、新しいスタイルを作成したい。問題を示すコードの例を次に示します。

//Create 1st element
var element1 = $('<div />').text('element1').addClass('blue');
$('body').append(element1);

//Set some css for all elements with the blue class
$('.blue').css('background-color', 'blue');

//Create 2nd element, it won't have the css applied because it wasn't around when the css was set
var element2 = $('<div />').text('element2').addClass('blue');
$('body').append(element2);​

上記のコードでは、2 番目の要素は 1 番目と同じスタイルではありません。私が望むのは、将来のすべての要素の className に css を設定できるようにすることです。

JSFiddle

4

2 に答える 2

19

新しいスタイルシートを作成し、これを head に追加できます:

$("<style type='text/css'> .blue{ background-color:blue;} </style>").appendTo("head");

デモを見る: http://jsfiddle.net/YenN4/2/

于 2012-09-18T14:39:01.953 に答える
5

デモ: http://jsfiddle.net/T6KEW/

$('<style>').text('.blue { background: blue }').appendTo('head');

$('<div>').text('element1').addClass('blue').appendTo('body');
$('<div>').text('element2').addClass('blue').appendTo('body');​
于 2012-09-18T14:39:41.750 に答える