I am using $().fadeOut() to fade items out in a list ( < li> < /li>). When the list is empty I wish to hide a parent object.
I plan on doing this by checking i
Like this:
$('ul > li').length
A more elegant way to do it would be to write
$('ul:empty').fadeOut();
If the ul
is not empty, the selector won't match anything, and the code will do nothing.
You may need to write
$('.SomeContainer:has(ul:empty)').fadeOut();
use .length
$('ul li').length // gives you back all li's in your ul
$('ul > li').length // give just the first children li's
so in order to hide your parent you can use it this way:
elements = $('ul > li')
if (elements.length) {
elements.fadeOut()
}else{
elements.parent().fadeOut()
}
Simply use .length
against the jQuery collection.
var $elements = $('ul#myUlElement').children('li');
alert($elements.length)