簡體   English   中英

單擊另一個元素時如何刪除類?

[英]How to remove a class when another element is clicked?

我想創建一個簡單的畫廊。 單擊圖像時,它會調整大小。 但是,當我單擊另一個圖像時,第一個圖像仍然處於活動狀態。 單擊另一個圖像時如何刪除類?

const imgList = document.querySelectorAll("img");
console.log(imgList);
for (let i = 0; i < imgList.length; i++) {
  imgList[i].addEventListener("click", function () {
    imgList[i].classList.toggle("bigger");
  });
}

無需復雜化,您只需重置從所有圖像中刪除bigger圖像並將其設置為單擊的圖像

const imgList = document.querySelectorAll("img");

for (let i = 0; i < imgList.length; i++) {
  imgList[i].addEventListener("click", function () {

    imgList.forEach(el=> el.classList.remove("bigger"))

    imgList[i].classList.add("bigger");
  });
}

有幾種方法可以解決此類問題。 一種方法是簡單地找到先前選擇的項目並在單擊新項目時刪除該類:

const previousSelection = document.querySelector("img.bigger");
if (previousSelection) previousSelection.classList.remove("bigger")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM