3

我想做的事:

当只有一个人.bx-pager-item.bx-pager,我想躲起来.bx-pager。当有更多时,我想展示.bx-pager

我写了这个速记函数:

var n = $(".bx-pager-item").length;
$(".bx-pager").css("display", (n < 2) ? "none" : "block");

当我的页面上只有一个时,这很好用.bx-pager,但我想添加更多。当我这样做时,它不再起作用了。有什么建议么?

JSFiddle

4

4 回答 4

0

.each在您的代码中使用:

$('.bx-pager').each(function() {
    var count = $(".bx-pager-item", this).length;
    $(this).css("display", (count < 2) ? "none" : "block");
});

jsFiddle

于 2013-10-28T10:45:24.970 回答
0

您需要遍历所有.bx-pager元素并检查.bx-pager-item每次迭代中的元素数量。

$('.bx-pager').each(function() {
    $(this).css("display", $(".bx-pager-item", this).length < 2 ? "none" : "block");
});

更新小提琴

于 2013-10-28T10:44:41.140 回答
0

在这里工作小提琴:http: //jsfiddle.net/rGs4t/1/

在寻呼机上使用 each 将为您执行此操作。

JS:

$(".bx-pager").each(function (index, pager) {
    var n = $(".bx-pager-item", pager).length;
    $(pager).css("display", (n < 2) ? "none" : "block");

});
于 2013-10-28T10:46:40.493 回答
0

你可以这样做:

$('.bx-pager').each(function () {
    $(this)[($('.bx-pager-item', this).length < 2) ? 'hide' : 'show']();
});
于 2013-10-28T10:47:58.667 回答