не работает вторая кнопка slideToggle
Всем привет! Возникла такая проблемка в проэкте:
В html есть два дива : <div class="details-toggle"> <strong class="toggle-trigger">View Details</strong><br/> <div class="toggle-target" style="display: none"> <ul> <li>Lorem</li> </ul> </div> </div> в разных местах документа, но при помощи кода который написан ниже методом слайдТогл разворачивается только первый toggle-target, второй же не реагирует вообще никак. Грешу на селектор что я написал, а вы что думаете? $('.toggle-trigger').click(function () { $(this).parent().find('.toggle-target').slideToggle(300); }); |
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> </head> <body> <div class="details-toggle"> <strong class="toggle-trigger">View Details</strong><br/> <div class="toggle-target" style="display: none"> <ul> <li>Lorem</li> </ul> </div> </div> <div class="details-toggle"> <strong class="toggle-trigger">View Details</strong><br/> <div class="toggle-target" style="display: none"> <ul> <li>Lorem</li> </ul> </div> </div> </select> <script> $('.toggle-trigger').click(function () { $(this).parent().find('.toggle-target').slideToggle(300); }); </script> </body> </html> таки работает |
$(this).parent().find('.toggle-target') .... $(this).nextAll('.toggle-target')
.... $(this).siblings('.toggle-target') |
Цитата:
|
drakonolom, а так?
$('.toggle-trigger').click(function() { $(this).closest('.details-toggle').find('.toggle-target').slideToggle(300); }); |
Цитата:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script> </head> <body> <div class="details-toggle"> <strong class="toggle-trigger">View Details</strong><br/> <div class="toggle-target" style="display: none"> <ul> <li>Lorem</li> </ul> </div> </div> <div class="details-toggle"> <strong class="toggle-trigger">View Details</strong><br/> <div class="toggle-target" style="display: none"> <ul> <li>Lorem</li> </ul> </div> </div> </select> <script> $('.toggle-trigger').click(function () { $(this).nextAll('.toggle-target').slideToggle(300); }); </script> </body> </html> |
да, точно.
Всем спасибо за ответы, дело в том что прикрепленный script к хэду имел итрибут async а я писал этот кусок кода вне document.ready, так что он воспринимал его не очень хорошо |
Цитата:
А то что у вас баги в коде так это не вина методов. |
Часовой пояс GMT +3, время: 15:30. |