User_05562244
User_05562244

Reputation: 11

Add Class to div if it contains Exact number

<div class="numb">1</div>
<div class="numb">2</div>
<div class="numb">3</div>
<div class="numb">4</div>
<div class="numb">5</div>

I need to get an Ouput like this for example : <div class="numb four-stars">4</div>

I tried this JS :

if ($(".numb").text().trim() === "4") {
    $(".numb").addClass('four-stars');
}

I made a mistake ?

Upvotes: 1

Views: 44

Answers (1)

Rory McCrossan
Rory McCrossan

Reputation: 337560

To achieve this you need to loop through each .numb element and check its text value individually. To do that you can use filter(), like this:

$('.numb').filter((i, el) => +el.textContent.trim() === 4).addClass('four-stars');
.four-stars { color: #C00; }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="numb">1</div>
<div class="numb">2</div>
<div class="numb">3</div>
<div class="numb">4</div>
<div class="numb">5</div>

Upvotes: 1

Related Questions