:hover
の要素に新しいCSSクラスを追加する方法はありますか?要素に新しいクラスを動的に追加するにはどうすればよいですか?
jQueryのために似ていますが、CSSに翻訳:
$(element).addClass('someclass');
:hover
の要素に新しいCSSクラスを追加する方法はありますか?要素に新しいクラスを動的に追加するにはどうすればよいですか?
jQueryのために似ていますが、CSSに翻訳:
$(element).addClass('someclass');
短い答えがない:)
しかし、あなたはちょうどそうのようなホバーのために同じCSSを使用することができます。
a:hover, .hoverclass {
background:red;
}
なぜクラスを追加する必要があるのか説明すれば、より良い解決策が得られるかもしれませんか?
なし、唯一のCSSを使用しました。 jQueryを使用して追加する必要があります。
あなたはそれを行うためにjavascriptのみが必要です –
CSSには、JavaScriptと同じようにオブジェクトを変更する機能がありません。
:hover
は擬似クラスですので、あなたがあなたのCSS宣言を置くことができます。
a:hover {
color: #f00;
}
あなたはまた、特定のクラスでホバー要素または要素にCSS宣言を適用するセレクタのリストを使用することができます。
.some-class,
a:hover {
color: #f00;
}
なぜ@Marco Berroclが否定的なフィードバックを得て、彼の答えは完全に正しいです ライブラリを使ってアニメーションを作成すると、ライブラリにコードをコピーしていない要素にカーソルを置く必要があります私は遅くなります。
ので、私は答えをないホバー考えると誰もがあなたにこのへのjQuery/JSの答えを与えているので、私は追加のソリューションを提供します、彼は多くの場合、
マルコの答えの2番目の文は事実上正しくありません - 「使用する必要性」と「使用できる」の違いがあります。また、特に私のような母国語以外のスピーカーの場合は、句読点を使用して回答の可読性を向上させることを検討してください。 ;) – hmundt
をjqueryのか、JavaScriptを使用する必要があります。あなたの質問に対する答えはまだノーですが、LESS(CSS Pre-processor)を使うと簡単にこれを行うことができます。
.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;
}
}
これは、あなたがそれを行う方法です。
var e = document.getElementById('myIdName');
var value = window.getComputedStyle(e, null).getPropertyValue("zIndex");
alert('z-index: ' + value);
だけでなく、CSSで。 jQueryまたはjsは、要素のクラスを実際に動的に変更する唯一の方法です。 –