Sunil Kumar
Sunil Kumar

Reputation: 29

How to add class by existing class in jQuery

I want to add class active for the div having class in (contained in div with class shiftTabs).

I used below jQuery but not working.

$('.shiftTabs .tab-pane[class="in"]').not('.active').addClass('active');

Html:-

 <div class="shiftTabs">
      <div class="tab-pane fade in" id="tab1" tabindex="1">
      <div class="tab-pane fade" id="tab2" tabindex="2">
      <div class="tab-pane fade" id="tab3" tabindex="3">
    </div>

Upvotes: 1

Views: 861

Answers (2)

guradio
guradio

Reputation: 15555

  1. Just use the selector $('.shiftTabs .tab-pane.in').not('.active')

$('.shiftTabs .tab-pane.in').not('.active').addClass('active');
.active {
  color: red
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="shiftTabs">
  <div class="tab-pane fade in" id="tab1" tabindex="1">123</div>
  <div class="tab-pane fade" id="tab2" tabindex="2">123</div>
  <div class="tab-pane fade" id="tab3" tabindex="3">123</div>
</div>

Upvotes: 0

Milind Anantwar
Milind Anantwar

Reputation: 82231

You need to chain the class selector instead of using attribute equals selector:

$('.shiftTabs .tab-pane.in:not(.active)').addClass('active');

Upvotes: 0

Related Questions