更改单个元素的选定文本颜色

时间:2012-04-12 17:54:05

标签: javascript css

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

您可以使用

全局更改页面的选定文本突出显示颜色
::selection {
    background: #cccccc;
}
::-moz-selection {
    background: #cccccc;
}

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

例如,如果s是元素的样式属性,则可以使用

更改文本和背景颜色
s.color = s.backgroundColor = "#cccccc";

是否有一种样式可以更改元素的高亮颜色?

这必须是老式的JavaScript,没有JQuery。

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

1 个答案:

答案 0 :(得分:2)

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

所以添加一个像

这样的规则
.selectionclass::-moz-selection {
    background: #cccccc;
}

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