:hover
の要素に新しいCSSクラスを追加する方法はありますか?
JQueryに似ていますが、CSSに変換されます。
$(element).addClass('someclass');
短い答えいいえ:)
ただし、次のようにホバーに同じCSSを使用できます。
a:hover, .hoverclass {
background:red;
}
クラスを追加する必要がある理由を説明すると、より良い解決策があるかもしれません。
誰もがこれに対するjQuery/JSの回答を提供しているため、追加のソリューションを提供します。あなたの質問への答えはまだありませんが、LESS(CSSプリプロセッサ)を使用すると、これを簡単に行うことができます。
.first-class {
background-color: yellow;
}
.second-class:hover {
.first-class;
}
簡単に言うと、.second-class
にカーソルを合わせると、.first-class
のすべてのプロパティが表示されます。ホバーするとクラスが永続的に追加されるわけではないことに注意してください。 LESSの詳細については、こちらをご覧ください: Getting Started with LESS
SASSでも同様に実行できます。
.first-class {
background-color: yellow;
}
.second-class {
&:hover {
@extend .first-class;
}
}
CSSには、実際にはJavaScriptと同じ方法でオブジェクトを変更する機能がないため、要するに-いいえ。
:hover
は擬似クラスであるため、CSS宣言をそこに配置できます。
a:hover {
color: #f00;
}
セレクターのリストを使用して、ホバーされた要素または特定のクラスを持つ要素にCSS宣言を適用することもできます。
.some-class,
a:hover {
color: #f00;
}
@Marco Berroclが否定的なフィードバックを得る理由と彼の答えは、ライブラリを使用してアニメーションを作成することについてまったく正しいので、ライブラリからコードをコピーしない要素にホバーでクラスを呼び出す必要があり、これは私を遅くします.
ホバーは答えではなく、多くの場合jqueryまたはjavascriptを使用する必要があると思います
これがあなたのやり方です:
var e = document.getElementById('myIdName');
var value = window.getComputedStyle(e, null).getPropertyValue("zIndex");
alert('z-index: ' + value);