You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript项目中pagination.js运行异常 报错$(...).pagination is not a function

问题解决方案

该报错的核心是pagination插件未成功挂载到你调用时使用的jQuery实例上,按照以下优先级排查即可解决:

1. 修正自定义JS文件引入顺序

你的业务JS文件teachers.js必须放在jQuery、pagination.js的引入语句之后,正确的资源加载顺序如下:

<!-- 第一步引入jQuery -->
<script type="text/javascript" src="https://code.jquery.com/jquery-2.2.4.min.js"></script>
<!-- 第二步引入依赖jQuery的pagination插件 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/paginationjs/2.0.7/pagination.js"></script>
<!-- 第三步引入其他依赖jQuery的插件 -->
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/bootbox.js/5.5.2/bootbox.min.js"></script>
<!-- 最后一步引入你的自定义业务JS -->
<script src="teachers.js"></script>

如果teachers.js放在pagination的引入语句之前,浏览器执行你的代码时插件还未加载,就会触发该报错。

2. 排查重复引入jQuery的问题

检查全页代码是否存在多次引入jQuery的情况:如果在pagination前引入了一次jQuery,后续又引入了其他版本的jQuery,新引入的jQuery会覆盖全局$对象,之前挂载在旧jQuery实例上的pagination方法会直接丢失。
解决方法:确保整个页面只引入一次jQuery,且放在所有依赖jQuery的插件之前。

3. 检查pagination.js加载状态

打开浏览器控制台的「网络」面板,刷新页面查看pagination.js的请求状态:

  • 如果请求返回404/超时,将资源替换为本地下载的pagination.js文件引入即可
  • 如果请求成功,在控制台输入$.fn.pagination回车,若返回值为undefined说明插件未正确挂载,大概率是jQuery符号冲突导致

4. 解决jQuery符号冲突

如果页面同时引入了其他使用$符号的JS库,将初始化代码用闭包包裹,锁定jQuery实例:

jQuery(document).ready(function($) {
    $('.pagination-container').pagination({
        dataSource: [1, 2, 3, 4, 5, 6, 7, 8, 9, 2, 3, 4, 5, 6, 7, 100],
        callback: function(data, pagination) {
            let html = template(data);
            $('.data-container').html(html);
        }
    });
});

内容的提问来源于stack exchange,提问作者Code Plus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 13:48:03