Javascript 向单击的元素添加类,但从其他元素中删除

Javascript 向单击的元素添加类,但从其他元素中删除,javascript,Javascript,我正在使用JS创建一些元素,需要在单击时为每个项目添加一个类,但将其从未单击的项目中删除。我相信这是一个快速的,但我不能让我的头周围 let data = { label:label, somethingElse:"test", id:id }; sidebarOptions.push(data); let ul = document.querySelector(".page-sidebar__options"); sidebarO

我正在使用JS创建一些元素,需要在单击时为每个项目添加一个类,但将其从未单击的项目中删除。我相信这是一个快速的,但我不能让我的头周围

let data = { 
  label:label, 
  somethingElse:"test", 
  id:id
};

sidebarOptions.push(data);

let ul = document.querySelector(".page-sidebar__options");

sidebarOptions.forEach(sidebarOption => {
  let li = document.createElement('li'),
  button = document.createElement('button'),
  title = document.createElement('span'),
  price = document.createElement('span')  
  ul.appendChild(li);
  li.appendChild(button);
  button.appendChild(title);
  button.appendChild(price);
  title.innerHTML = sidebarOption.label + sidebarOption.id;
  price.innerHTML = '[Price]';
  button.onclick = (event) => {
    button.classList.add('selected');
  };
})

因此,如果您有一个选中的按钮,请查找并删除该类

const currentlySelected = ul.querySelector('button.selected');
if (currentlySelected) currentlySelected.classList.remove('selected');

在将其添加到单击的项目之前,可以将其从所有项目中删除。或者在将其添加到单击的项目之前,将其从当前与类相关的项目中删除。最后,看起来您只是在重新设计单选按钮。使用样式,您可以使其看起来相同。