2012-02-06 10 views
5

私の要素にCSSスタイルを動的に作成する必要があります。しかし、私は持っている必要があります:後にCSSと私はあなたがjQueryでこれを変更することはできないと聞いたことがあります。CSSの作成:after with jQuery

これは本当ですか?とにかくこれの周りにはありますか?

答えて

15

あなたは<style>タグを生成し、<head>に挿入することができます

http://jsfiddle.net/PrBHF/

$("head").append($('<style>div:after { content: " World" }</style>')); 
+0

これは、すべてのブラウザ、特別にInternet Explorerで動作しません。 – ShankarSangoli

+0

ここに別の方法があります:http://stackoverflow.com/questions/311052/setting-css-pseudo-class-rules-from-javascript – thirtydot

+0

@ShankarSangoli:この回答はIE8/9で動作します。 ':after'がサポートされていないため、より低いバージョンでは動作しません。 – thirtydot

5

これは本当ですか?

はい。 :afterで作成された疑似要素はDOMの一部ではないため、選択することはできません。

とにかくこの周辺にはありますか?

:afterを使用しない限り(実際の要素を使用して、それにイベントをバインドすることはできます)。あなたの質問を再読み込み持つ

編集

、私はあなたがjQueryを使って要素に:afterスタイルを適用することができれば、あなたが実際に求めていると思います。答えはまだnoですが、addClassを使用して要素に新しいクラスを追加し、そのクラス名に:afterのスタイルを定義することができます。私は「ノー」と述べました

編集が再び

、それは私が完全に正確ではないんだそうです... @AtesGoralsはすてきな対応策についてはお答えを参照してください。

5

なぜjavascriptを使用してCSSを作成しますか?

CSSクラスに必要なスタイルを設定してから、addClassメソッドを使用してjQueryを使用してクラスを適用します。