Jquery 截断li的数量';如果超过某个数字,则在列表中
我希望实现以下目标: 如果给定ul中有超过12个li,则将最后一个替换为“…”,并隐藏第12个之后出现的任何li 有人能给我指点路吗?Jquery 截断li的数量';如果超过某个数字,则在列表中,jquery,truncate,Jquery,Truncate,我希望实现以下目标: 如果给定ul中有超过12个li,则将最后一个替换为“…”,并隐藏第12个之后出现的任何li 有人能给我指点路吗? jQuery: $('[data-truncate]').each(function(){ var n = $(this).data('truncate') -1; $('li', this).eq( n ).nextAll().hide().last().after('<li>...</li>'); }); $(“[数
jQuery:
$('[data-truncate]').each(function(){
var n = $(this).data('truncate') -1;
$('li', this).eq( n ).nextAll().hide().last().after('<li>...</li>');
});
$(“[数据截断]”)。每个(函数(){
var n=$(this).data('truncate')-1;
$('li',this.eq(n).nextAll().hide().last().after('.. ');
});
您只需使用jQuery即可
请参见此尝试以下操作:
$('#myList > li:eq(11)').nextAll().hide().end().after('<li>...</li>');
$(“#myList>li:eq(11)”.nextAll().hide().end().after(“.. ”);
请注意,
eq()
方法中提供的索引是从零开始的,它指的是元素在jQuery对象中的位置,而不是在DOM树中的位置。因此,eq(11)
表示此处的第12项 这是工作小提琴:
示例html:
<ul id="mylist">
<li>1 </li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5 last one to see</li>
<li>6 will be truncated</li>
<li>7 will be truncated</li>
<li>8 will be truncated </li>
</ul>
你试过什么?您需要向我们展示您的努力和代码,以便我们正确地帮助您
$('#myList > li:eq(11)').nextAll().hide().end().after('<li>...</li>');
<ul id="mylist">
<li>1 </li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5 last one to see</li>
<li>6 will be truncated</li>
<li>7 will be truncated</li>
<li>8 will be truncated </li>
</ul>
$(document).ready(function () {
var maxToShow = 5;
$("#mylist li").each( function(i, e){
// truncate all li elements after the 5th
if ( i >= maxToShow){
// $(e).remove(); // remove it
$(e).hide(); // or hide it
}
});
});