Kei*_*gan 25 javascript jquery toggle hide
假设我有一个无序列表,如下所示:
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
<li>Four</li>
<li>Five</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我如何使用JQuery隐藏最后2个列表项并在那里有一个"显示更多"链接,所以当点击时,最后2个列表项会出现?
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
<li style="display:none;">Four</li>
<li style="display:none;">Five</li>
<li>Show More</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
pex*_*pex 35
请尝试以下代码示例:
$('ul li:gt(3)').hide();
$('.show_button').click(function() {
$('ul li:gt(3)').show();
});
Run Code Online (Sandbox Code Playgroud)
Ken*_*ler 17
为了好玩,这里有一个迂回的方式在一个链中做到这一点:
$('ul')
.find('li:gt(3)')
.hide()
.end()
.append(
$('<li>Show More...</li>').click( function(){
$(this).siblings(':hidden').show().end().remove();
})
);
Run Code Online (Sandbox Code Playgroud)
Clo*_*ick 12
我只想显示"显示/隐藏",如果大于最大值,所以我这样做,跟随肯:
$('ul').each(function(){
var max = 6
if ($(this).find("li").length > max) {
$(this)
.find('li:gt('+max+')')
.hide()
.end()
.append(
$('<li>More...</li>').click( function(){
$(this).siblings(':hidden').show().end().remove();
})
);
}
});
Run Code Online (Sandbox Code Playgroud)
它会更像这样.您必须隐藏大于2的子项,因为Three被索引为2.此外,如果您想将Show More放在LI标记中,则需要:not(:last-child)
在选择器中包含.像这样:
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li><a href=# class=show>Show More</a></li>
</ul>
<script>$("li:gt(2):not(:last-child)").hide();
$('.show').click(function(){
$("li:gt(2)").show();
});
</script>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
57063 次 |
最近记录: |