Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

243
Visualizações
How to change a button's color when clicked on it and change it back to its original color when the button is clicked again?

In this case, my Upvote button is transparent, and when I click on it, its background color changes from transparent to green. I need to make this button transparent when I click on it again. I tried the following codes

function vote(){
  var upVoteBtn = document.getElementById("upVote");
  upVoteBtn.style.backgroundColor = "green";
  upVoteBtn.style.color = "black";
}
<button id="upVote" onclick=vote()>upVote</button> 

about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

As @CBroe mentioned, instead of adding style in js, consider making a class with styles you need, toggle this class with a listener on button click.

document.getElementById("upVote").addEventListener("click", () => {
  event.target.classList.toggle("upvoted")
})
.upvoted{
  background-color:green;
}
<button id="upVote">upVote</button>

about 4 years ago · Juan Pablo Isaza Relatório

0

Try this!

var btnToggle = true;
var upVoteBtn = document.getElementById("upVote");

function vote(){
    if (btnToggle){
        upVoteBtn.style.backgroundColor = "green";
        btnToggle = false;
    } else{
        upVoteBtn.style.backgroundColor = null;
        btnToggle = true;
    }
}
<button class="btn btn-outline-success" id="upVote" onclick=vote()>upVote</button>

If you want to make it transparent, then simply use upVoteBtn.style.backgroundColor = "transparent"; instead of null. Just like below.

var btnToggle = true;
var upVoteBtn = document.getElementById("upVote");
upVoteBtn.style.backgroundColor = "transparent";

function vote(){
    if (btnToggle){
        upVoteBtn.style.backgroundColor = "green";
        btnToggle = false;
    } else{
        upVoteBtn.style.backgroundColor = "transparent";
        btnToggle = true;
    }
}
<button class="btn btn-outline-success" id="upVote" onclick=vote()>upVote</button>

Thanks and best regards!

about 4 years ago · Juan Pablo Isaza Relatório

0

 function vote(element){
        element.classList.toggle("active");
}
                      
.btn.active{
  background:green;
  color: #fff;
}
.btn{
  background: transparent;
  color: black;
}
<button class="btn btn-outline-success" id="upVote" onclick=vote(this)>upVote</button> 


Solution of Problem

  • vote(this) send element of button
  • toggle() use to add and remove active class
  • .btn.active check button have active class or not
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda