javascript在单击时切换表行背景色

javascript在单击时切换表行背景色,javascript,jquery,html,css,Javascript,Jquery,Html,Css,因此,我有一些javascript代码,它在一个表行上单击exapns所有后续表行,直到再次找到相同的表行类 如果你将鼠标悬停在一行上,它会变成灰色,这正是我所期望的 唯一不起作用的是,当您单击表行时,我希望表行的背景颜色与悬停(灰色)相同。单击“上一步”并折叠行时,颜色应消失 我试图添加一个切换类,如下所示 $('.my-class').click(function(){ $(this).nextUntil('tr.my-class').slideToggle(100); $

因此,我有一些javascript代码,它在一个表行上单击exapns所有后续表行,直到再次找到相同的表行类

如果你将鼠标悬停在一行上,它会变成灰色,这正是我所期望的

唯一不起作用的是,当您单击表行时,我希望表行的背景颜色与悬停(灰色)相同。单击“上一步”并折叠行时,颜色应消失

我试图添加一个切换类,如下所示

$('.my-class').click(function(){

    $(this).nextUntil('tr.my-class').slideToggle(100);
    $(this).toggleClass("tr.my-class.negative.clicked");
});
但我不确定这是否是正确的方法。 这是我的JSFIDLE:

您可以使用相同的事件切换类

演示


$('.composite test')。切换类别(“灰色”)
您可以尝试
$(this).removeClass('tr.my-class').addClass('tr.my-class.negative.clicked')
而不是
$(此).toggleClass('tr.my-class.negative.clicked')
但将
$(此)
替换为单击的tr的id。

您可以切换另一个CSS类,使表行背景颜色与悬停(灰色)相同。


CSS

只是提醒一下。 这也有效,这可能是一个更好的解决方案:

$('.my-class').click(function(){

    $(this).nextUntil('tr.my-class').slideToggle(100);
    $(this).toggleClass("clicked");

});

也许我的问题不清楚。我只希望同一个tr的背景色为灰色,我有悬停
.rowBg { background:gray;}
$('.my-class').click(function(){

    $(this).nextUntil('tr.my-class').slideToggle(100);
    $(this).toggleClass("clicked");

});