У вас правильная идея, но методы, которые вы попробовали, работают не совсем так, как вы ожидаете. Возможно, самый простой вариант - перейти к родителю и найти соответствующий элемент:
$(this).parent().next().slideToggle(defaults.speed);
Ваши попытки не увенчались успехом по следующим причинам:
.closest
пересекает DOM (он смотрит вверх, поэтому проверяет родителя, а затем всех дальнейших предков, пока не будет найдено совпадение). В вашем случае обязательный элемент не является предком this
, поэтому он не будет работать.
.next
получает следующий родственный элемент текущего сопоставленного элемента. В вашем случае следующего брата нет, поскольку a
является последним элементом в dt
.
Обратите внимание, что если ваша структура DOM может измениться, вы можете использовать closest
, чтобы достичь элемента dl
, а затем использовать .find
, чтобы найти dd
(см. Ответ @Nicola Peluchetti).