在单击另一个表行HTML CSS JAVASCRIPT之前删除类

在单击另一个表行HTML CSS JAVASCRIPT之前删除类,javascript,html,css,Javascript,Html,Css,下面的代码检索table html元素并包含onclick函数。在这一点上,它调用了一系列的函数,这些函数工作得非常好。函数的最后一部分是使用class.primary突出显示表行。该类只能突出显示一行。如何更改函数,使其在单击另一行之前删除该类。此时,如果您单击一行,它会将整行高亮显示为黄色。但当你点击另一行时,它也会高亮显示一个黄色。我只希望每次突出显示一行: var table=document.getElementById(“tabledt”); 如果(表){ 对于(var i=0;i

下面的代码检索table html元素并包含onclick函数。在这一点上,它调用了一系列的函数,这些函数工作得非常好。函数的最后一部分是使用class.primary突出显示表行。该类只能突出显示一行。如何更改函数,使其在单击另一行之前删除该类。此时,如果您单击一行,它会将整行高亮显示为黄色。但当你点击另一行时,它也会高亮显示一个黄色。我只希望每次突出显示一行:

var table=document.getElementById(“tabledt”);
如果(表){
对于(var i=0;i
.primary{
背景色:黄色!重要;

}
我认为您正在使用jquery。jquery中有一个函数在这种情况下很有用

siblings()
同级选择具有相同父级的所有元素。您可以根据自己的意愿对其进行过滤

在这种情况下,您可以这样做:

$("#tabledt tr").click(function(){
   $(this).siblings('tr').removeClass('primary');
}

当您收到一个单击时,从拥有它的元素中删除主类,除非具有该类的元素是被单击的元素。应该突出显示一行或一行,而不是2行。如何从包含主类的元素中删除主类?单击函数发生在table.rows[i].onclick上,因此我丢失了应用CSS的前一行?
var prevSelectedItem=document.querySelector('tr.primary')
后跟
preverselecteditem.classList.remove('primary')拥有
var prevHighlightMarker=未定义的意义是什么,如果您从未在任何地方将其设置为当前元素?(如果正确地执行了该操作,那么下次将在该元素中引用上一个元素。)