jquery.dataTables表格无数据时右下角页码数不显示的问题

在使用jQuery DataTables插件时,当表格无数据时,发现右下角的页码并未隐藏。这个问题可能源于数据表格的初始化配置。检查`jquery.dataTables.min.js`源代码,注释部分提供了可能的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下为jquery.dataTables.min.js中关于分页页码的源代码 :

 *** 注释部分为个人添加的。

     g.extend(!0, p.ext.renderer, {
            pageButton: {
                _: function(a, b, c, e, d, f) {
                    var h = a.oClasses, i = a.oLanguage.oPaginate, j, l, m = 0, o = function(b, e) {
                        var k, p, r, q, s = function(b) {
                            Sa(a, b.data.action, true)
                        };
                        k = 0;
                        for (p = e.length; k < p; k++) {
                            q = e[k];
                            // 此处是判断是页码数字还是页码按钮
                            if (g.isArray(q)) {
                                // ====  需要添加以下代码 ===
                                if(q.length == 0){
                                    q.push(0);
                                }
                                // ====  结束 ===
                                // 实现页面dom元素的拼接
                                r = g("<" + (q.DT_el || "div") +"/>").appendTo(b);
                            // 递归实现页码数字的渲染
                                o(r, q)
                            } else {
                                l = j = "";
                                switch (q) {
                                case "ellipsis":
                                    b.append("<span>&hellip;</span>");
                                    break;
                                case "first":
                                    j = i.sFirst;
                                    l = q + (d > 0 ? "" : " " + h.sPageButtonDisabled);
                                    break;
                                case "previous":
                                    j = i.sPrevious;
                                    l = q + (d > 0 ? "" : " " + h.sPageButtonDisabled);
                                    break;
                                case "next":
                                    j = i.sNext;
                                    l = q + (d < f - 1 ? "" : " " + h.sPageButtonDisabled);
                                    break;
                                case "last":
                                    j = i.sLast;
                                    l = q + (d < f - 1 ? "" : " " + h.sPageButtonDisabled);
                                    break;
                                default:
                                    j = q + 1;
                                    l = d === q ? h.sPageButtonActive : ""
                                }
                                if (j) {
                                    r = g("<a>", {
                                        "class": h.sPageButton + " " + l,
                                        "aria-controls": a.sTableId,
                                        "data-dt-idx": m,
                                        tabindex: a.iTabIndex,
                                        id: c === 0 && typeof q === "string" ? a.sTableId + "_" + q : null
                                    }).html(j).appendTo(b);
                                    Ua(r, {
                                        action: q
                                    }, s);
                                    m++
                                }
                            }
                        }
                    };
                    try {
                        var k = g(P.activeElement).data("dt-idx");
                        o(g(b).empty(), e);
                        k !== null && g(b).find("[data-dt-idx=" + k + "]").focus()
                    } catch (p) {}
                }
            }
        });

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值