css 更改单个元素的背景色?

k7fdbhmy  于 2023-02-26  发布在  其他
关注(0)|答案(3)|浏览(150)

我目前正在做一个学校的时间表。我有大约50个按钮,属于同一个类,但ID不同。是否可以使用js中的函数更改具有特定ID的特定按钮的颜色?<button type="button" class="btn" onclick="openPopup1()" id="output1"><strong>+</strong></button> <button type="button" class="btn" onclick="openPopup2()" id="output2"><strong>+</strong></button>
以下是其中两个按钮的示例
我完全不知道该怎么做,经过研究也一无所获,所以我希望你能帮助我:)

ar5n3qh5

ar5n3qh51#

document.getElementById(“output1”).style.backgroundColor=“red”有什么问题吗?本质上是在按钮上设置了一个内联样式。

5anewei6

5anewei62#

这可能有些过头,也不是你想要的,但是如果你把this传递给你的onclick函数,你就可以在函数中引用那个按钮。
在我的示例中,我向任何被单击的按钮添加一个active类,并从任何其他被单击的按钮中删除active。

function deactiveBtns(){
  let activeBTNs = document.querySelectorAll(".btn.active");
  activeBTNs.forEach((btn) => {
    btn.classList.remove("active");
  });
}

function openPopup1(el){
 deactiveBtns();
 el.classList.toggle("active");
}

function openPopup2(el){
 deactiveBtns();
  el.classList.toggle("active");
}
.btn.active{
background:red;
}
<button type="button" class="btn" onclick="openPopup1(this)" id="output1"><strong>+</strong></button> <button type="button" class="btn" onclick="openPopup2(this)" id="output2"><strong>+</strong></button>
wmtdaxz3

wmtdaxz33#

您可以使用JS更改按钮的背景色,方法是通过Id访问元素并适当地设置style属性。

document.getElementById("headerStore").setAttribute("style", "background-color: red;");

你可以在页面加载的时候做,或者点击一个按钮来触发它,你也可以用CSS通过ID来引用特定的条目。
希望这能有所帮助!

相关问题