Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 截断li的数量';如果超过某个数字,则在列表中_Jquery_Truncate - Fatal编程技术网

Jquery 截断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>'); }); $(“[数

我希望实现以下目标:

如果给定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>');  
});
$(“[数据截断]”)。每个(函数(){
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
            }
        });
    
    });