it should do it.
$('ul li').hide().filter(':lt(2)').show();
$('ul').append('<li>more</li>').find('li:last').click(function(){
$(this).siblings(':gt(1)').toggle();
});
demo at : http://jsfiddle.net/gaby/tNGxN/2/
Refresh to add changing text from larger to smaller ..
$('ul li')
.hide()
.filter(':lt(2)')
.show();
$('ul')
.append('<li><span>more</span><span class="less">less</span></li>')
.find('li:last')
.click(function(){
$(this)
.siblings(':gt(1)')
.toggle()
.end()
.find('span')
.toggle();
});
css rule required .less{display:none}
demo : http://jsfiddle.net/gaby/tNGxN/3/
source
share