2012-02-06 61 views

回答

15

您可以生成一個<style>標籤並將其插入到<head>

http://jsfiddle.net/PrBHF/

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

這並不是在所有瀏覽器,特別是Internet Explorer上工作。 – ShankarSangoli 2012-02-06 20:25:17

+0

這裏有其他的方法:http://stackoverflow.com/questions/311052/setting-css-pseudo-class-rules-from-javascript – thirtydot 2012-02-06 20:25:43

+0

@ShankarSangoli:這個答案在IE8/9中有效。由於':after'不被支持,它在任何較低版本中都不起作用。 – thirtydot 2012-02-06 20:26:36

5

這是真的嗎?

是的。使用:after創建的僞元素不是DOM的一部分,因此無法選擇。

反正有這個嗎?

不需要,除非您沒有使用:after(使用實際元素,那麼您可以選擇它/將事件綁定到它)。

編輯

已經重新閱讀你的問題,我想你實際上是在問你是否可以申請:after樣式與jQuery的元素。答案仍然是否定的,但您可以使用addClass向元素添加新類併爲該類名定義:after樣式。

再次編輯

當我說「不」,看來我並不完全正確......看到@AtesGorals回答一個很好的解決方法。

5

爲什麼使用javascrript創建css?

在css類中擁有所需的樣式,然後使用jQuery通過使用addClass方法來應用該類。