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

478
Views
How to change the color of the certain element when there are multiple element with the same class?

I have HTML structure like:

<a class="parent-element">
 <h2 class="link1">link</h2>
</a>

<a class="parent-element">
 <h2 class="link2">link</h2>
</a>

<a class="parent-element">
 <h2 class="link3">link</a>
</a>

I want to add the class to the parent element for clicked link, and for instance, I click on the "link1" then change the background of his parent then when I click on the "link2" add the class to "link2" and remove from "link1"

I was trying with:

     $(".parent-element").addClass("myClass");

But, it's far from what I want to get :)

Thanks in advance!

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Use this keyword for adding class to the current element.

$(".parent-element").click(function() {
  $(".parent-element").removeClass("active");
  $(this).addClass("active");
})
.active{
   color: hotpink;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


<a class="parent-element">
  <h2 class="link1">link</h2>
</a>

<a class="parent-element">
  <h2 class="link2">link</h2>
</a>

<a class="parent-element">
  <h2 class="link3">link</h2>
</a>

about 4 years ago · Juan Pablo Isaza Report

0

you can try this -

$(".parent-element").click(function() {
  $(".parent-element").removeClass("myClass");
  $(this).addClass("myClass");
})
.myClass {
  color: red;
}
<script src="https://code.jquery.com/jquery-3.6.0.js"></script>
<a class="parent-element">
  <h2 class="link1">link</h2>
</a>
<a class="parent-element">
  <h2 class="link2">link</h2>
</a>
<a class="parent-element">
  <h2 class="link3">link
</a>

about 4 years ago · Juan Pablo Isaza Report

0

you can target the parent with event.target.parentNode.classList.add("clicked") but with your current code, you don't need to target the parent or use js to change the color. Because tag is the clickable element(not h2) and when you click on it, browser knows the event, target element etc.. You can simply create a css class like

a.parent-element:visited {
  color: green;
}

so, you dont even need js for it

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!