Como posso aplicar a mesma função abaixo às outras duas seções da div? Gostaria que os botões primários uk
e int
em cada div mostrassem/ocultassem o conteúdo dentro de suas seções filhas. Outro problema é que estou usando abas. Cada div está hospedada em uma aba diferente, então a classe ativa clicada precisa permanecer na alternância de abas.
$('.uk').on("click", function() {
$('#div-ONE-INT').hide();
$('#div-ONE-UK').show();
$(this).addClass('active');
$('.int').removeClass('active');
return false;
});
$('.int').on("click", function() {
$('#div-ONE-INT').show();
$('#div-ONE-UK').hide();
$(this).addClass('active');
$('.uk').removeClass('active');
return false;
});
$('#div-ONE-INT').hide();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
<div class="ONE">
<a href="#" class="primary-btn active uk">UK</a>
<a href="#" class="primary-btn int">International</a>
<section id="div-ONE-UK">
<!-- UK ONE content -->
</section>
<section id="div-ONE-INT">
<!-- Int ONE content -->
</section>
</div>
<div class="TWO">
<a href="#" class="primary-btn uk active">UK</a>
<a href="#" class="primary-btn int">International</a>
<section id="div-TWO-UK">
<!-- UK TWO content -->
</section>
<section id="div-TWO-INT">
<!-- Int TWO content -->
</section>
</div>
<div class="THREE">
<a href="#" class="primary-btn uk active">UK</a>
<a href="#" class="primary-btn int">International</a>
<section id="div-THREE-UK">
<!-- UK THREE content -->
</section>
<section id="div-THREE-INT">
<!-- Int THREE content -->
</section>
</div>
Use
$(this).closest("div")
para obter a div que a contém. Em seguida, você pode usar seletores relativos a ela para selecionar os elementos na mesma aba.