Search code examples
jqueryselectorparent

jQuery .parent() class selector


This is my code:

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();
    }
}

Idea is: if(e)

  1. append $.get response to .popup .inner
  2. show .popup

else

  1. empty .popup .inner
  2. hide .popup

Question

Is there better way to select .popup than .parent().parent().parent()

Additional: Im aware that this could be done like this:

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

Solution

  • You can use closest method to select the closest parent.

    Check : http://api.jquery.com/closest/

    Replace

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

    with

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