Родитель элимента
Здравствуйте, уважаемые. Помогите разобраться. Необходимо при нажатии на один из нескольких одинаковых элементов скрыть родителя, а так же выяснить родителя у родителя и совершить некие действия с дочерними элементами.
$(this).parent().hide() Не работает. (Почему?) Заранее благодарен. |
Цитата:
<script src="http://code.jquery.com/jquery-latest.min.js"></script> <fieldset> <legend>Родитель</legend> <button onclick="$(this).parent().hide()">Скрыть родителя</button> </fieldset> |
А что в этом коде не так?
$(function(){ $(".option").click(function(){ $(this).parent().hide(); }); }); |
Цитата:
<script src="http://code.jquery.com/jquery-latest.min.js"></script> <script> $(function(){ $(".option").click(function(){ $(this).parent().hide(); }); }); </script> <fieldset> <legend>Родитель</legend> <button class="option">Скрыть родителя</button> </fieldset> |
:( Родитель и алименты
|
Цитата:
|
Вот функция, которая открывает родительский элемент. Возможно какой-то конфликт?
$(".select").click(function(){ $('.selectList', this).show(); } }); '.selectList' как раз тот родитель, который необходимо скрыть |
Цитата:
Может у тебя доступ заблокирован к http://code.jquery.com/ ? |
Цитата:
|
Цитата:
$(this).closest('.selectList') (или $(this).parents('.selectList'), но первое предпочтительней ). |
Почему же? Структура следующая:
<div class="select"> <div class="selectList"> <span class="option">1</span> <span class="option">2</span> <span class="option">3</span> <span class="option">4</span> <span class="option">5</span> </div> </div> |
А, ну тогда ок. Только не show() а hide() ведь, не?
|
Цитата:
$(function(){ $(".select").click(function(){ if ($('.selectList', this).is(':visible')) { $('.selectList', this).hide(); } else { $('.selectList', this).show(); } }); }); Такой получился скрипт. Как теперь можно определить, по какому из дочерних элементов .option был совершен клик? |
$(".select").click(function(e){ //e.target ... Вся твоя портянка заменяется одной строчкой: $('.selectList', this).toggle(); |
e.target ?
По-подробнее, пожалуйста |
Цитата:
|
Разобрался, спасибо. Плюсанул в репу. Такой получился код:
$(function(){ $(".select").click(function(e){ $('.selectList', this).toggle(); $('.selectText', this).text($(e.target).text()); }); }); |
Часовой пояс GMT +3, время: 07:59. |