【问题标题】:Javascript : Change selection backgroundJavascript:更改选择背景
【发布时间】:2012-01-29 15:45:11
【问题描述】:
我应该如何在Javascript 中执行此操作?
// CSS
*::-moz-selection{
background:transparent;
}
我尝试了这些,但并没有真正奏效:
// Javascript
document.mozSelection = "transparent";
document.body.mozSelection = "transparent";
【问题讨论】:
标签:
javascript
css
selection
【解决方案1】:
您可以在样式表中添加规则。
// 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 了解一些这样做的方法)。