Предполагая, что ваша структура HTML не изменится, вы можете привязать обработчик событий click
к элементам dt
и просто показать следующий элемент (dd
):
$(document).ready(function() {
$("#faq-list").on("click", "dt.question", function() {
$(this).next().show();
});
});
Выше потребуется jQuery 1.7+, так как он использует метод on
. Если вы используете более старую версию, посмотрите delegate
или просто используйте click
.
Я выбрал родительский элемент #faq-list
и связал там обработчик событий, потому что это более эффективно, чем привязка многих обработчиков событий ко всем отдельным элементам dt
. Таким образом, есть один обработчик событий, который проверяет, произошло ли событие в соответствующем элементе dt.question
. Это возможно, поскольку события всплывают в DOM от того места, где они возникли (событие начинается с dt
, а пузырьки доходят до родителя, что #faq-list
).