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

求助:CKEditor A11ychecker插件点击报错t(...).closest不是函数

解决CKEditor A11ychecker插件 t(...).closest is not a function 错误

这个问题的根源其实很好找——你使用的jQuery v1.2.6版本太老旧了!.closest()方法是从jQuery 1.3才开始加入的API,而插件代码里直接调用了这个在你当前jQuery版本里不存在的方法,自然会抛出错误。这也直接导致了插件的检查流程中断,所以哪怕文档里有无障碍问题,提示框也错误显示“文档没有无障碍问题”。

下面给你几个可行的解决办法,按推荐程度排序:

1. 升级jQuery版本(最推荐)

直接把jQuery升级到1.3及以上的稳定版本,建议选和你的CKEditor版本兼容性更好的分支,比如jQuery 1.12.x系列(它对旧浏览器和旧CKEditor版本的适配都不错)。升级后,.closest()方法就能正常工作,插件的检查逻辑会恢复正常,错误提示会消失,同时无障碍问题的检测结果也能正确显示出来。

2. 修改插件代码(临时兼容方案)

如果暂时没法升级jQuery,你可以手动修改A11ychecker插件的plugin.js文件,找到第3119行的代码:

expected: t(this).closest(".quail-test").data("expected")

把它替换成jQuery 1.2.6支持的等效写法,用.parents()结合:first选择器来模拟.closest()的行为:

expected: t(this).parents(".quail-test:first").data("expected")

.parents(".quail-test")会向上遍历所有父元素并匹配选择器,:first取第一个匹配的元素,效果和.closest()完全一致——找到最近的符合条件的父元素。

3. 排查插件与CKEditor的版本兼容性

你用的A11ychecker插件最后更新是2018年3月,而测试的CKEditor版本包括4.9.2(2018年后期发布),两者可能存在一些兼容性细节问题。如果前面的方法都没完全解决问题,可以试试:

  • 查插件的官方文档,确认它支持的CKEditor版本范围,考虑把CKEditor降级到插件明确支持的版本
  • 看看插件的社区讨论,有没有其他用户遇到过类似问题并分享了补丁

内容的提问来源于stack exchange,提问作者Ken Haynes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:07:34