Подсказки для вашего подхода:
У вас разные ошибки в вашем коде:
- у вас их несколько
id="more"
- вы используете отверстие
<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>
(Более) подходящий подход:
Как упоминалось другими комментаторами, я думаю, вы попытаетесь сделать что-то вроде это :
$(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>