我有一个表格,其中显示了姓名、职级和积分。当我将鼠标悬停在行上时,它们的颜色会改变。点击单个行时,它会添加'class'类。我的CSS规则选择'active'类以给它一个边框和新的背景颜色。虽然边框可以正常工作,但是背景颜色却没有改变。
我知道jQuery可以正常工作,因为当我点击行时,它会按照我设置的CSS规则添加黑色边框,但是背景颜色却一直保持为白色。我还查看了Firebug,它显示添加到已点击行的'active'类,但颜色仍然没有改变。我现在不担心切换点击,因为我只想清除这个第一步。
我搜索了一些旧帖子,建议添加'!important',但也不起作用。
HTML
我知道jQuery可以正常工作,因为当我点击行时,它会按照我设置的CSS规则添加黑色边框,但是背景颜色却一直保持为白色。我还查看了Firebug,它显示添加到已点击行的'active'类,但颜色仍然没有改变。我现在不担心切换点击,因为我只想清除这个第一步。
我搜索了一些旧帖子,建议添加'!important',但也不起作用。
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-data .active
,但根据你的代码猜测,你应该定位.rank-table .active
或.row-data.active
。 - arma