Я работаю над приложением, в котором имитируются окна приложений для рабочего стола, которые открываются, сводятся к минимуму и закрываются. Мне удалось заставить их расширяться и рушиться, но я не могу закрыть их, и я не могу понять, почему. Мне нужно закрыть текущий div, нажав кнопку, см. Код/например. ниже.
<script>
$(document).ready(function () {
$("form.common").first().show();
$(".expand").click(function () {
$(this).parents().next("form.common").show();
})
$(".collapse").click(function () {
$(this).parents().next("form.common").hide();
});
$(".close").click(function () {
$(this).parents().next("div.module").hide();
});
});
</srcipt>
<div id="task_manager" class="module"> <!-- Need the x with class close to hide this div-->
<h3>Task Manager</h3> <!-- This header and below icons are shown when minimized-->
<div class="module_actions">
<span class="icons_small right close">X</span>
<span class="icons_small right collapse">-</span>
<span class="icons_small right expand">+</span>
</div>
<form class="common">
<fieldset>
<legend> Some Titlee/legend>
</fieldset>
</form>
</div>
Может ли кто-нибудь понять, почему это не скрывает div? Благодаря,
Ответ на вопрос:
$(".close").click(function () {
$(this).closest("div.module").hide();
});
Также вы должны изменить свои обращения к parents()
только к parent()
чтобы вы просто поднялись на один уровень в дереве DOM
У вас было отсутствующее <
in <legend> Some Titlee/legend>
, после чего оно работает.
Проверить здесь