2011-12-06 14 views
0

.anyclass:beforeまたは.anyclass:afterのCSSプロパティをjavascript経由で設定するにはどうすればよいですか?.element:beforeまたは.element:afterのCSSプロパティをjavascript経由で設定することはできますか?

+0

一般的なルールとしてページに追加しますか? – Yoshi

+0

':before'と':after'はプロパティではなく、CSSセレクタです。したがって、それらをいくつかの要素に設定することはできません。そのようなセレクタを持つルールをスタイルシートに追加することしかできません。 – Jon

+0

:(これらは非常に便利ですが、プログラム上でプロパティを設定するとすばらしいことになります。 – fancy

答えて

2

私のコメントに拡大:

:before:afterは、プロパティ、they are CSS selectorsではありません。したがって、それらをいくつかの要素に設定することはできません。そのようなセレクタを持つルールをスタイルシートに追加することしかできません。

与えられたセレクタに一致するすべての要素の前または後にDOMノードをjQueryで追加する場合は、それぞれbeforeおよびafterメソッドを使用できます。

CSSルールを現在のページに追加する場合は、DOM level 2 CSSStyleSheet interfaceを使用できます。最小限の例では、次のようになります。

// Note: this is sample code. Do not use it blindly in your own page. 
document.styleSheets[0].insertRule(".foo:before { /* something */ }", 0); 

は、より多くのコード例についてinsertRuleためのMDNのマニュアルを参照してください。

関連する問題