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