2

これは不可能かもしれませんが、確認したいと思います。

ページの選択したテキストのハイライト色をグローバルに変更できます。

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

しかし、JavaScriptで個々の要素の強調表示された色を変更することは可能ですか?

たとえば、sが要素のスタイル属性である場合、を使用してテキストと背景色を変更できます。

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

要素のハイライト色を変更するスタイルはありますか?

これは、JQueryではなく、昔ながらのJavaScriptである必要があります。

編集: また、パフォーマンスのために、これを要素自体に変更する必要があります。CSSクラススワッピングのパフォーマンスは非常に低くなります。ユースケースは、私が所有していないページ内のすべての単語がそれ自身の要素になるというものです。平均的なページでは、スクリプトを介してCSSクラスを追加するのに20〜30秒かかりますが、インラインスタイルの変更は1秒未満で実行できます。

4

1 に答える 1

2

疑似要素と疑似クラスは DOM にはありませんが、クラスを使用して結果を得ることができます。

したがって、次のようなルールを追加します

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

をスタイルシートに追加し、クラス名selectionclassを要素に追加します。

于 2012-04-12T17:59:20.193 に答える