Вы неправильно понимаете метод closest
.
Ближайший метод возвращает ближайший родительский элемент элемента, соответствующий условию. Например, $('td').closest('table')
вернет таблицу, которая непосредственно содержит td
. (Если таблица находится внутри другой таблицы, она вернет самую внутреннюю)
Вы можете использовать методы nextAll
или prevAll
вместе с селектором :first
, чтобы найти ближайший элемент после или перед вашим элементом, или вы можете использовать метод siblings
, чтобы найти все родственные элементы элемента но я не думаю, что есть простой способ найти ближайшего брата.
Я бы порекомендовал вам вложить все переключаемые пары в отдельные элементы, например:
<div class="Togglable">
<span class="Active">Hello!</span>
<span class="Inactive">Goodbye!</span>
</div>
Вы можете написать
$('.Togglable span').click(function() {
$(this).parent().children().toggle();
});