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

标签 javascript css

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

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

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

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

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

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

是否有一种样式可以更改元素的突出显示颜色?

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

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

最佳答案

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

因此添加一条规则,例如

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

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

关于javascript - 更改单个元素的选定文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10129035/

相关文章:

javascript - 根据 JS 确认框防止更新面板中的回发

javascript - 未捕获的类型错误 : System. 导入不是函数

php - CSS/PHP : How to make the next div appear on the side instead

css - flex 的 chalice 布局

javascript - 如何将一段文本设置为同时放到一个新行中?

javascript - 将选定的下拉列表传递到第二个下拉列表

php - jQuery 对话框下拉

c# - 使用 Google map 作为商店定位器

css - 如何在 CSS 中的左侧和右侧放置带有水平线的标题文本

css - 如何在滚动框中制作具有固定宽度但相对高度的元素