Reputation: 5834
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)
.popup .inner
.popup
else
.popup .inner
.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();
Upvotes: 1
Views: 4631
Reputation: 82913
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();
Upvotes: 8