Вот моя страница.
Если вы найдете красное поле «Специальное предложение», вы увидите, что оно расширяется при щелчке по заголовку. Внизу страницы есть еще одно идентичное поле. Если вы нажмете на это тоже, вы увидите мою проблему. Событие щелчка запускает оба поля. Это был недосмотр. Моя проблема в том, что я не могу заставить свой альтернативный JS работать. Я подумал, что мог бы просто использовать следующий (div) метод (закомментированный в примере кода), чтобы найти div и развернуть его. Это не похоже на работу.
Вот мой текущий JS, который запускает две коробки одновременно:
//=====Special Offer Expanders START=====
$('a.expand-offer').click(function(event){
event.preventDefault();
//$('a.expand-offer').next('div').slideToggle(200);
$('div.offer-expander').slideToggle(200);
});
//=====Special Offer Expanders END=====
Может ли кто-нибудь увидеть способ различения двух одинаковых блоков в JS, чтобы они расширялись независимо друг от друга? Я подумывал добавить классы «.top» и «.bottom» в разметку, но это грязно, поскольку я хочу иметь возможность использовать разметку Special Offer универсальным образом, без добавления уникальных классов.
Извините, это то, что я пробовал до сих пор:
$(this).next('div.offer-expander').slideToggle(200);
$(this).next('.offer-expander').slideToggle(200);
$(this).next('div').slideToggle(200);
Никто, похоже, не работает. (Я добавил это в комментарии, но в нем нет подсветки кода.)