Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Родитель элимента (https://javascript.ru/forum/jquery/40750-roditel-ehlimenta.html)

kotkew 18.08.2013 21:46

Почему же? Структура следующая:
<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>

danik.js 18.08.2013 21:50

А, ну тогда ок. Только не show() а hide() ведь, не?

kotkew 18.08.2013 22:11

Цитата:

Сообщение от danik.js (Сообщение 268082)
А, ну тогда ок. Только не show() а hide() ведь, не?

апд
$(function(){
            $(".select").click(function(){
                if ($('.selectList', this).is(':visible')) {
                    $('.selectList', this).hide();
                } else {
                    $('.selectList', this).show();
                }
            });
        });

Такой получился скрипт. Как теперь можно определить, по какому из дочерних элементов .option был совершен клик?

danik.js 18.08.2013 22:44

$(".select").click(function(e){
    //e.target
...

Вся твоя портянка заменяется одной строчкой:
$('.selectList', this).toggle();

kotkew 18.08.2013 23:30

e.target ?
По-подробнее, пожалуйста

danik.js 18.08.2013 23:38

Цитата:

Сообщение от kotkew
Как теперь можно определить, по какому из дочерних элементов .option был совершен клик?

По-подробнее, пожалуйста

kotkew 19.08.2013 00:28

Разобрался, спасибо. Плюсанул в репу. Такой получился код:
$(function(){
            $(".select").click(function(e){
                $('.selectList', this).toggle();
                $('.selectText', this).text($(e.target).text());
            });
        });


Часовой пояс GMT +3, время: 11:29.