我有一個顯示名稱,等級和點的表格。當我將鼠標懸停在行上時,行會改變顏色,當我點擊每個行時,它會添加'active'類。我的CSS規則選擇'active'類來給它一個邊框和新的背景顏色。邊框起作用,但背景顏色沒有。如何阻止jquery重寫CSS顏色?
我知道jquery的工作原理,因爲當我點擊該行時,它會添加一個黑色邊框,因爲它應該根據我設置的CSS規則進行,但背景只是變成白色。我也檢查了螢火蟲,它顯示活動類被添加到點擊行,但顏色仍然沒有改變。我現在不擔心切換點擊,因爲我只想清除第一步。
我搜索了一些其他的舊帖子,推薦添加!重要的,但這也不起作用。
的Html
<tr class="row-data">
<td class="name">player</td>
<td class="points">points</td>
<td class="rank"><p id="rank">Rank1</p></td>
</tr>
CSS
.row-data .active {
border: 2px solid black;
background-color: red !important;
}
jQuery的
$(function() {
var limegreen = '#73f302';
var white2 = '#eef4cc';
var transitionTime = '0.5s'
var $rankTable = $('.rank-table');
var $rowData = $rankTable.find('.row-data');
function rowHighlight() {
var rowID = $(this)
rowID.css({
'background-color': limegreen,
'transition-property': 'background-color',
'transition-duration': transitionTime,
});
};
function rowDelight() {
var rowID = $(this)
rowID.css({
'background-color': white2,
'transition-property': 'background-color',
'transition-duration': transitionTime,
});
};
function activeToggle() {
var activeID = $(this)
activeID.addClass('active')
};
$rowData.on('mouseover', rowHighlight);
$rowData.on('mouseleave', rowDelight);
$rowData.on('click', activeToggle);
});
的問題是,你嘗試目標'''.row數據.active' ''當你的代碼我猜你應該是定位'''.rank-table .active'''或'''.row-data.active''' – arma