не работает вторая кнопка 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, время: 21:19. |