加载更多按钮不显示任何内容

问题描述 投票:0回答:1

我正在尝试显示其他内容,但是我的代码无法正常工作。我似乎在代码中找不到任何错误,非常感谢您的帮助。谢谢。

<head>
<style>
  #more { display: none; }
</style>
</head>

<body>
<p>Content</P>
<span id="more">
  <p>Content</p>
</span><span id="more">
<span id="more">
  <p>Content</p>
</span><span id="more">
<span id="more">
  <p>Content</p>
</span><span id="more">
...

<a href="#" id="load">Load More</a>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<script>
$(function(){
    $("#more").slice(0, 2).show();
    $("#load").click(function(e){ 
        e.preventDefault();
        $("#more:hidden").slice(0, 2).show(); 
        if($("#more:hidden").length == 0){ 
            alert("No more"); 
        }
    });
});
</script>
</body>
</html>
html jquery css
1个回答
3
投票

您的方法提示:

您在代码中有不同的错误:

  1. 您有多个id="more"
  2. 您使用开始<span>标记,但不使用结束部分```''。

这是一个类似于您的代码的小型工作示例,但这不是解决您问题的最佳解决方案。

我将html id更改为class以查询多个<span>元素

$(function(){
    var nextMore = 0;
    $("#load").click(function(e){ 
        e.preventDefault();
        $(".more").slice(nextMore, nextMore + 1 ).show();
        nextMore += 1;
        if($(".more").length - nextMore == 0){ 
            alert("No more"); 
        }
    });
});
.more { display: none; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>

<p>Content</p>
<span class="more">
  <p>Content</p>
</span>
<span class="more">
  <p>Content</p>
</span>
<span class="more">
  <p>Content</p>
</span>

<a href="#" id="load">Load More</a>

(更多)适当的方法:

[正如其他评论员所提到的,我想您尝试做类似this的事情:

$(document).ready(function(){
  $("#btn").click(function(){
    $("ol").append("<li>Content</li>");
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

<ol>
  <li>Content</li>
</ol>

<button id="btn">Append Content items</button>
© www.soinside.com 2019 - 2024. All rights reserved.