デフォルトでは背景色が「lightGreen」に設定されています。また、ホバリング時にbackground-color
を「赤」に上書きするクラスを追加しています。CSSクラスを使用して背景色を切り替える
クラスが追加されると、それは赤を適用しないで、lightGreenに固執します。
この要素にはデフォルトで「無効」クラスがありますが、この例では「uiHighlight」を追加する前に.removeClass( "disabled")を実行するコードがあります。
私が意図したとおりに機能しないのはなぜですか?そうでない理由がある -
#increaseImpulse, #decreaseImpulse, #undoLastAction {
border: 1px solid black;
background-color: lightGreen;
}
.uiHighlight {
background-color: red;
}
.disabled {
display: none;
}
この
<tr id="undoLastAction" class="disabled">
<td colspan=2>
Undo last action
</td>
</tr>
とid
セレクタがclass
セレクタよりも多くの特異性を有するこの
$("#undoLastAction")
.hover(
function(e){
$(this).addClass("uiHighlight");
},
function(e){
$(this).removeClass("uiHighlight");
}
)
.click(function(e){
console.log("undoLastAction")
});
https://developer.mozilla.org/en-US/docs/Web/CSS/Specificityを参照してください。 – j08691