javascript - How to display the first 3 elements in UL only on document load? -
i have list (ul) has class of .more_stories ul contains li.
i use code hide them default on load:
$('ul.more_stories li').css({'display': 'none'});
now want display first 3 li items inside ul after that. how can in jquery?
-note: have several uls same class.
i try , unexpected results..
// more stories $('ul.more_stories li').css({'display': 'none'}); $('ul.more_stories li:gt(2)').show();
thanks in advance.
you want :lt()
selector instead, this:
$('ul.more_stories li').hide(); $('ul.more_stories li:lt(3)').show();
or, bit simpler/faster using .slice()
:
$('ul.more_stories li').hide().slice(0, 2).show();
this approach hides them all, using same set , taking 0-2 index elements show.
you can reverse approach, never hiding first 3, this:
$('ul.more_stories li:gt(2)').hide();
or, again using .slice()
:
$('ul.more_stories li').slice(3).hide();
for comments, make work across multiple <ul>
element, use .each()
loop, this:
$('ul.more_stories').each(function() { $(this).children().slice(3).hide(); });
Comments
Post a Comment