TypeError:’undefined’不是只在Safari中使用Tablesorter的函数

仅在safari中我收到错误:

TypeError:undefined不是函数(评估’$(“table”)。tablesorter’)

在所有其他浏览器中它都有效。 这是我的javascript代码,我把jtery和tablesorter javascript的脚本推入了标题。 那么我该如何解决这个问题呢? 为什么它只在Safari中而不在任何其他浏览器中?

 $(function() { // call the tablesorter plugin $("table").tablesorter({ theme : 'jui', headerTemplate : '{content}{icon}', // hidden filter input/selects will resize the columns, so try to minimize the etc 

当jQuery加载两次时,在两个副本之间加载的任何脚本都与jQuery( ref )的第一个副本相关联:

      

因此,一旦调用了文档就绪函数,内部的jQuery调用就会引用已加载的jQuery的第二个副本。

如果这种情况不可避免,那么您需要定义与第一个副本关联的变量:

        

有关更多详细信息,请参阅此jQuery论坛post 。

另外,我会将此问题报告给您的Web主机,因为他们应该在加载之前检查jQuery是否已经存在。

在我的情况下,解决方案是:

脚本命令

 jquery-1.11.1.js jquery-latest.js jquery.tablesorter.js 

2.方法.ready(function($){}) – 提供$非常重要

  jQuery(document).ready(function($){ $("#tableSort").tablesorter(); }); 

这个问题是因为您定义了多个jquery脚本。 我只有这个:

     

并一次又一次地得到同样的错误。

然后我意识到错误就是这样! 但我正在使用一个定义另一个版本的jquery的Layout。 更改布局中的定义后,错误消失了。

我也面临同样的问题。 在我的情况下,序列是问题。 添加jquery和tablesorter js的序列很重要。 首先加载jquery然后加载tablesorter。

   

早些时候写的是

   

希望能帮助到你。