У меня есть простой код, в котором, когда пользователь нажимает на шеврон jquery, отображается скрытый контент.
Эти элементы во всем моем коде у меня 2.
Теперь вопрос, есть ли какое-нибудь решение, как сохранить затронутый только последний нажатый элемент?
Итак, когда я нажимаю на первый, будет отображаться первый скрытый контент, а когда я нажимаю на второй элемент, который, как второй скрытый контент первым, будет снова скрыт.
$('.chevron').click(function() {
$(this).toggleClass('active'); // for you css .chevron.active
$(this).parent().parent().find('p').toggleClass('active');
});
.chevron {
cursor: pointer;
width: 10px;
}
.chevron.active {
transform: rotate(90deg);
}
.column {
display: flex;
flex-direction: column;
}
p {
max-width: 280px;
display: none;
}
p.active {
display: block;
height: 100%;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="column">
<div>
<input id="fix-broken-links" type="checkbox">
<label for="fix-broken-links">Fix broken links</label>
<img class="chevron" src="https://supersede.space/chevron.svg" alt="Checklist chevron">
</div>
<div>
<p>SKuska skuskaSKuska skuskaSKuska skuskaSKuska skuskaSKuska skuska</p>
</div>
</div>
<div class="column">
<div>
<input id="spelling-grammar" type="checkbox">
<label for="spelling-grammar">Spelling & grammar</label>
<img class="chevron" src="https://supersede.space/chevron.svg" alt="Checklist chevron">
</div>
<div>
<p>SKuska skuskaSKuska skuskaSKuska skuskaSKuska skuskaSKuska skuska</p>
</div>
</div>