Javascript 如何从以前单击的列表项中删除样式

Javascript 如何从以前单击的列表项中删除样式,javascript,html,css,Javascript,Html,Css,我正在尝试制作一个日历,这样当您单击一天的数字时,下面会显示3个预订时间供用户选择。我的问题是,如果您选择日期,我的代码会将其样式设置为绿色,但如果用户选择不同的日期,我不知道如何从该日期删除样式。任何帮助都会很好 HTML: 您可以在选中时向元素添加一个类,然后通过querySelectorAll调用从所有元素中删除该类 .selected { background-color: #1abc9c; color: #ecf0f1; } 或者您可以跟踪所选元素 var selected

我正在尝试制作一个日历,这样当您单击一天的数字时,下面会显示3个预订时间供用户选择。我的问题是,如果您选择日期,我的代码会将其样式设置为绿色,但如果用户选择不同的日期,我不知道如何从该日期删除样式。任何帮助都会很好

HTML:


您可以在选中时向元素添加一个类,然后通过querySelectorAll调用从所有元素中删除该类

.selected
{
  background-color: #1abc9c;
  color: #ecf0f1;
}
或者您可以跟踪所选元素

var selected;

function check(value) {
  
  if(typeof(selected) != "undefined")
  {
    selected.style.backgroundColor = "white";
    selected.style.color = "black";
  }

  day = value;
  document.getElementById("bookingTimes").style.visibility = "visible";
  var content = document.getElementsByTagName("li");
  if (day == value) {
    content[day + 6].style.backgroundColor = "#1abc9c";
    content[day + 6].style.color = "#ecf0f1";
    selected = content[day + 6];
  }

  return day;
}

到目前为止,您已经为代码编写了哪些程序?
.selected
{
  background-color: #1abc9c;
  color: #ecf0f1;
}
function check(value) {
  document.querySelectorAll(".selected").forEach(x => x.className = "");
  day = value;
  document.getElementById("bookingTimes").style.visibility = "visible";
  var content = document.getElementsByTagName("li");
  if (day == value) {
    content[day + 6].className = "selected";
    
  }

  return day;
}
var selected;

function check(value) {
  
  if(typeof(selected) != "undefined")
  {
    selected.style.backgroundColor = "white";
    selected.style.color = "black";
  }

  day = value;
  document.getElementById("bookingTimes").style.visibility = "visible";
  var content = document.getElementsByTagName("li");
  if (day == value) {
    content[day + 6].style.backgroundColor = "#1abc9c";
    content[day + 6].style.color = "#ecf0f1";
    selected = content[day + 6];
  }

  return day;
}