Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

236
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!