Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何删除除一个数组中的一个之外的所有元素的类_Javascript_Html_Dom - Fatal编程技术网

Javascript 如何删除除一个数组中的一个之外的所有元素的类

Javascript 如何删除除一个数组中的一个之外的所有元素的类,javascript,html,dom,Javascript,Html,Dom,我正在学习香草JS和DOM。今天,当我想删除除一个元素之外的所有元素的类时,我遇到了一个问题 const panels = document.querySelectorAll(".panel"); function toggleOpen() { this.classList.toggle("open"); console.log(panels); } function toggleActive(e) { if (e.pr

我正在学习香草JS和DOM。今天,当我想删除除一个元素之外的所有元素的类时,我遇到了一个问题

const panels = document.querySelectorAll(".panel");
  function toggleOpen() {
    this.classList.toggle("open");
    console.log(panels);
  }
  function toggleActive(e) {
    if (e.propertyName.includes("flex")) {
      this.classList.toggle("open-active");
    }
  }

  panels.forEach((panel) => panel.addEventListener("click", toggleOpen));
  panels.forEach((panel) =>
    panel.addEventListener("transitionend", toggleActive)
  );

我想当我点击“面板”时,唯一被点击的面板有类“打开”,并删除所有其他“面板”的所有类“打开”。(确切地说,我只希望一个面板始终保持类“打开”,并且它可以切换。)感谢您的帮助。

切换打开
中,迭代所有面板(除了这一个)并首先删除它们的
打开类:

function toggleOpen() {
  // Close all other panels:
  for (const panel of panels) {
    if (panel !== this) {
      panel.classList.remove('open');
    }
  }
  // Either open this panel or close it:
  this.classList.toggle("open");
}

非常感谢你。现在我知道“这个”可以这样用了。