Javascript:更改选择背景

时间:2010-10-25 23:17:03

标签: javascript css selection

我应该如何在Javascript中执行此操作?

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

我尝试了这些但是并没有真正起作用:

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

2 个答案:

答案 0 :(得分: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而不是样式更改类本身。

答案 1 :(得分:2)

::选择器用于伪元素,CSS对象与实际元素节点不对应。因为没有要匹配::-moz-selection的元素节点,所以不能直接在元素的.style.background属性上设置样式。

相反,你必须插入一个新的样式表规则来复制上面的CSS(参见this question的几种方法)。