2010-10-25 94 views
2

我應該怎麼做JavascriptJavascript:更改選擇背景

// CSS 
*::-moz-selection{ 
background:transparent; 
} 

我嘗試了這些,但並沒有真正的工作:

// Javascript 
document.mozSelection = "transparent"; 
document.body.mozSelection = "transparent"; 

回答

5

您可以在樣式表中添加一條規則。

// Get the first stylesheet 
var ssheet = document.styleSheets[0]; 

if ("insertRule" in ss) { 
    ss.insertRule('#yourdivcontainer::-moz-selection { background: transparent; }', 0);   
} 

IMO,這不是一個好的做法。您應該使用選擇顏色創建CSS類,並通過JS而不是樣式來更改類本身。

2

::選擇是僞元素,是不符合實際的元素節點CSS對象。因爲沒有與::-moz-selection匹配的元素節點,所以不能直接在元素的.style.background屬性上對其進行樣式設置。

相反,您將不得不插入一個新的樣式表規則來複制上面的CSS(請參閱this question以獲得一些方法)。