Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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
Javascript 如何在jquery上显示列表中的最后一个li?_Javascript_Jquery - Fatal编程技术网

Javascript 如何在jquery上显示列表中的最后一个li?

Javascript 如何在jquery上显示列表中的最后一个li?,javascript,jquery,Javascript,Jquery,我的javascript代码如下所示: $(document).ready(function () { $('#myList li:lt(3)').show(); var items = $('ul#myList li').length var shown = 3; if(items <= 3) $('#loadMore').hide(); $('#loadMore').click(function

我的javascript代码如下所示:

$(document).ready(function () {
    $('#myList li:lt(3)').show();
    var items =  $('ul#myList li').length
    var shown =  3;
    
    if(items <= 3)
         $('#loadMore').hide();
         
    $('#loadMore').click(function () {
        shown = $('#myList li:visible').length+5;
        if(shown < items) {
            $('#myList li:lt('+shown+')').show();
        }
        else {
            $('#myList li:lt('+items+')').show();
            $('#loadMore').hide();
        }
    });
});
演示和完整代码如下所示:

执行代码时,它将显示以下内容:

一个

两个

它将首先显示三个项目

但我想最后展示三件

所以我想要这样的结果:

$(document).ready(function () {
    $('#myList li:lt(3)').show();
    var items =  $('ul#myList li').length
    var shown =  3;
    
    if(items <= 3)
         $('#loadMore').hide();
         
    $('#loadMore').click(function () {
        shown = $('#myList li:visible').length+5;
        if(shown < items) {
            $('#myList li:lt('+shown+')').show();
        }
        else {
            $('#myList li:lt('+items+')').show();
            $('#loadMore').hide();
        }
    });
});
二十三

二十四

二十五

如何操作?

您可以使用参数为-3的.slice来选择jQuery对象的最后三个元素

$("#myList li").slice(-3).show();

如果您使用以下命令:

$‘我的列表li:gt-4’。显示

它将展示最后三个孩子


这有点像是对逻辑的一种破解,但很管用。

最好的方法是在将显示的项限制为3项之前使用jQuery反转列表:

$('ul > li').each(function() {
  $(this).prependTo(this.parentNode);
});
$document.readyfunction{ $'ul>li'。每个函数{ $this.prependTothis.parentNode; }; $“我的列表li:lt3”。显示; 变量项=$'ulmyList li'。长度 var=3;
如果项目您可以通过在选择器中使用GT来执行此操作,如下所示

$(document).ready(function () {
  var items =  $('ul#myList li').length;
  var shown = 3;
  var start = items-shown-2; //account for 0-indezing
  $('#myList li:gt('+start+')').show();
//.....

只选择最后三项可以通过执行:gt-4来完成

范例

$document.readyfunction{ $tr:gt-4.cssbackground-color,黄色; }; 欢迎来到我的网页 公司 联系 国 岛屿贸易 海伦·贝内特 英国 科尼格利希·埃森 菲利普·克莱默 德国 笑巴克斯酒窖 田纳西 加拿大 马加兹尼营养不良 乔瓦尼·罗维利 意大利 北/南 西蒙·克罗瑟 英国 使用切片

$document.readyfunction{ var切片=-3; $'myList li'.sliceslice.show; 变量项=$'ulmyList li'。长度 var=3;
若问题项为什么收到否决票?@guest271314,我不知道。另一个否决票的用户。我不能拒绝