あなたが経験している問題は、CSS情報の場所の重要性である:
外部スタイルシートは、文書の頭の中でCSSによる過支配されます。これは要素のstyle
属性でCSSによってオーバーラウンドされます。基本的に、ブラウザーで最後に表示されたスタイルは、以前に指定された競合ルールや他の競合ルールより優先されます(キーワードが!important
でない限り)。
JavaScriptなど
ので、jQueryのは、スタイルを相反するこの常にオーバーライドが他の場所で指定された要素のインラインstyle
属性にそのCSS /スタイル情報を配置します。
div
の場合はcolor: red
が重要で、div:hover
のスタイルは無視されます。
あなたが使用することができ、それを回避するには、次の
div:hover {
background-color: blue!important;
}
JS Fiddle demoを。
$('div').css('background-color','red').hover(
function(){
$(this).css('background-color','blue');
},
function(){
$(this).css('background-color','red');
});
:あなたはjQueryのhover()
メソッドを使用することができ、また
div {
background-color: red;
}
div:hover {
background-color: blue!important;
}
:
よりよい解決策は、しかし、CSS jQueryを使ってbackground-color
/他のスタイルを割り当てない、と単純に使用することですJS Fiddle demo。
いくつかのコードを使用してインラインスタイルをしてください置き換えるのだろうか? – Alex
両方とも、背景色を変更するクラスを追加するのはどうですか? – ryankeairns
divのセレクターとjQueryメソッドに使用したセレクターは何ですか?これらの行のいくつかを表示できますか? –