Селектор класса jQuery .parent () - PullRequest
1 голос
/ 21 ноября 2011

Это мой код:

HTML

<div class="popup">
    <div class="popup-frame">
        <div class="popup-cont">
            <div class="inner"></div>
        </div>
    </div>
    <div class="bg"></div>
</div>

JS

s.popup = {
    set : function(e){
        if(e)   $.get(s.v+e+'.php', function(e){$('.popup .inner').append(e).parent().parent().parent().show()})
        else    $('.popup .inner').empty().parent().parent().parent().hide();
    }
}

Идея такова: если (е)

  1. добавьте ответ $ .get к .popup .inner
  2. Показать .popup

еще

  1. пусто .popup .inner
  2. скрыть .popup

Вопрос

Есть ли лучший способ выбрать .popup, чем .parent().parent().parent()

Дополнительно: Я знаю, что это можно сделать так:

$('.popup .inner').empty(); $('.popup').hide();

1 Ответ

8 голосов
/ 21 ноября 2011

Вы можете использовать ближайший метод для выбора ближайшего родителя.

Проверка: http://api.jquery.com/closest/

Заменить

$('.popup .inner').empty().parent().parent().parent().hide();

с

$('.popup .inner').empty().closest('.popup').hide();

...