Я работаю над страницей «Карьера», на которой будет отображаться краткий предварительный просмотр описания работы вместе с переключателем, который при нажатии будет скользить вниз, чтобы показать более подробную информацию о публикации.
Разметка выглядит так:
<div>
<div class="career-excerpt">
<p>Preview text goes here</p>
</div>
<div class="career-details">
<p>Longer explanation / detail text goes here</p>
</div>
<p><a class="toggle" href="#">Show Details</a></p>
</div>
А вот jQuery, который я использую, чтобы открыть раздел сведений:
$(".career-details").hide();
$(".toggle").click(function () {
$(".career-details").toggle("fast",function() {
$('.toggle').text(
$(this).is(':visible') ? "Hide Details" : "Show Details"
);
});
});
Это работает, чтобы открыть детали и изменить текст с «Показать детали» на «Скрыть детали». Однако на каждой странице будет несколько сообщений, и с этим кодом однократное нажатие переключателя приведет к открытию всех описаний.
Я бы хотел, чтобы переключатель открывал только div «career-details» внутри того же родительского div переключателя, на который нажали.
Я пробовал изменить:
$(".career-details").toggle("fast",function() {
to:
$(this).closest(".career-details").toggle("fast",function() {
но после этого переключатели вообще не работают. Любые идеи будут высоко оценены, спасибо!