使用Jquery隐藏分页

时间:2013-12-19 10:54:35

标签: jquery html

我有以下HTML

<div class = "pagination">
  <ul class = "pagination-wrap>
    <li><a href = "#">1</a></li>
    <li><a href = "#">2</a></li>
    <li><a href = "#">3</a></li>
    <li><a href = "#">4</a></li>
</ul>
</div>

如果我们有更多项目,列表会增加。我的问题是如何动态删除列表<li>。例如:如果我的totalpages = 1,我想删除除1以外的所有内容。

totalpages = getpages();   //Returns a number from my function

if(totalpages == 1) {
 $("a:contains('2')").hide();
 $("a:contains('3')").hide();
 $("a:contains('4')").hide();
 $("a:contains('5')").hide();
}

现在我有很多像这样的条件。是否可以在一个函数中执行此操作,因为我不想对每个场景进行硬编码。类似:如果总页数= 1.排除1并删除所有内容?

编辑:当totalPages = 3时,我想隐藏4及以上但不是1,2和3。

4 个答案:

答案 0 :(得分:1)

你可以隐藏所有内容,然后只显示你想要的内容

function showOnly(someText) {
  $(".pagination-wrap a").hide();
  $(".pagination-wrap a:contains('"+someText+"')").show();
}

答案 1 :(得分:1)

您当前的代码无法处理四页以上的页面。看起来您只需在需要时添加页码即可获益:

var totalPages = getpages();

for (var page = 1; page <= totalPages; page++)
{
    $('ul.pagination-wrap').append('<li><a href="#">' + page + '</a></li>');
}

答案 2 :(得分:1)

将以下内容更改为隐藏页面编号以外的其他功能<{1}}功能

getpages()

愿这对你有所帮助。

答案 3 :(得分:0)

使用 jQuery :gt(index)隐藏<li>大于您的网页数量!

示例:
http://jsfiddle.net/bevL7/

totalpages = getpages();
$(".pagination-wrap li:gt('" + (totalpages-1) + "')").hide();