2

这可能是不可能的,但我想确认一下。

您可以使用以下命令全局更改页面的选定文本突出显示颜色

::selection {
    background: #cccccc;
}
::-moz-selection {
    background: #cccccc;
}

但是是否可以更改 JavaScript 中单个元素的突出显示颜色?

例如,如果s是元素的样式属性,您可以使用更改文本和背景颜色

s.color = s.backgroundColor = "#cccccc";

有没有改变元素高亮颜色的样式?

这必须是老式的 JavaScript,而不是 JQuery。

编辑: 另外,由于性能,我需要将其更改为元素本身。CSS 类交换性能很差。用例是我不拥有的页面中的每个单词都将成为它自己的元素。在平均页面上,通过脚本添加 CSS 类需要 20-30 秒,而更改内联样式可以在 1 秒内完成。

4

1 回答 1

2

伪元素和伪类不在 DOM 中,但您可以使用类来实现您的结果。

所以添加一个规则,如

.selectionclass::-moz-selection {
    background: #cccccc;
}

到您的样式表并将类名添加selectionclass到您的元素。

于 2012-04-12T17:59:20.193 回答