Родитель элимента
Здравствуйте, уважаемые. Помогите разобраться. Необходимо при нажатии на один из нескольких одинаковых элементов скрыть родителя, а так же выяснить родителя у родителя и совершить некие действия с дочерними элементами.
$(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, время: 22:08. |