当前位置: 首页 > 知识库问答 >
问题:

Wordpress如何使用jquery和$sign

凌永逸
2023-03-14

我在WordPress插件中有一个简单的jQuery脚本,它使用这样的jQuery包装器:

$(document).ready(function(){

    // jQuery code is in here

});

我从WordPress仪表板中调用这个脚本,并在jQuery框架加载后加载它。

当我在Firebug中查看页面时,我不断收到错误消息:

TypeError:$不是函数

准备好(函数)

我是否应该在这个函数中包装脚本:

(function($){

    // jQuery code is in here

})(jQuery);

这个错误我已经犯过好几次了,不知道如何处理。

任何帮助都将不胜感激。

共有3个答案

暴德运
2023-03-14

这个解决方案对我有效

;(function($){
    // your code
})(jQuery);

将代码移到闭包中,并使用$而不是jQuery

我在https://magento.stackexchange.com/questions/33348/uncaught-typeerror-undefined-is-not-a-function-when-using-a-jquery-plugin-in-ma找到了上述解决方案

…搜索太多之后

焦同
2023-03-14

这应该可以解决它:

jQuery(document).ready(function($){
  //you can now use $ as your jQuery object.
  var body = $( 'body' );
});

简而言之,WordPress在你可以之前运行他们自己的脚本,他们发布了$var,这样它就不会与其他库冲突。这完全有道理,因为WordPress用于各种网站、应用程序,当然还有博客。

根据他们的文件:

WordPress附带的jQuery库被设置为noConflict()模式(请参阅wp includes/js/jQuery/jQuery.js)。这是为了防止与WordPress可以链接的其他JavaScript库的兼容性问题。

在noConflict()模式下,jQuery的全局$快捷方式不可用。。。

时仰岳
2023-03-14

默认情况下,当您在Wordpress中将jQuery排入队列时,必须使用jQuery,并且不使用$(这是为了与其他库兼容)。

你用函数包装它的解决方案会很好地工作,或者你可以用其他方式加载jQuery(但是在Wordpress中这可能不是一个好主意)。

如果必须使用document.ready,则实际上可以将$传递到函数调用中:

jQuery(function ($) { ...
 类似资料:
  • 问题内容: 我有一个PrimeFaces Web应用程序。当我手动添加jQuery和如下所示的插件时, 然后PrimeFaces组件会失去其功能和某些样式。例如,不显示,不滑动,丢失填充等。 这是怎么引起的,我该如何解决? 问题答案: PrimeFaces已经附带捆绑了jQuery的产品,但是您已经下载并安装了另一个仅与PrimeFaces捆绑的jQuery冲突的产品。我敢肯定,如果您对Web浏览

  • 本文向大家介绍使用CDN和AJAX加速WordPress中jQuery的加载,包括了使用CDN和AJAX加速WordPress中jQuery的加载的使用技巧和注意事项,需要的朋友参考一下 确定要放在Head部分 ? 事实上最好的情况是,js文件都不要在<head>部分进行加载,否则会影响到head部分的载入速度,直接导致网站的内容(body)载入延迟。如果你确定你不需要在head部分载入jQuer

  • 问题内容: 如何在我的WordPress插件中包含CSS和jQuery? 问题答案: 对于样式 然后使用:无论您要加载CSS的位置。 脚本如上所述,但是更快的加载jquery的方法就是使用init加载的init加载要加载的页面: 当然,除非您想将Google存储库用于jquery。 您还可以有条件地加载脚本所依赖的jquery库: 2017年9月更新 我刚才写了这个答案。我应该澄清,使脚本和样式排

  • 问题内容: 我不知道如何用代码返回JSON数据。 JS C#的Default.aspx.cs 提前致谢! 问题答案: 你不远 您需要执行以下操作: 您可以进一步减少此代码,但为清晰起见,我将其保留下来。实际上,您甚至可以这样写: 这将返回一个json字符串。我宁愿更加明确,因为我使用自定义转换器。也有Json.net,但是框架的工作开箱即可。

  • 问题内容: 我有一个包含许多ListView的页面,我希望用户能够对它们进行排序和翻页。我不想每次都回发并重新绑定整个页面,而是希望通过jQuery / AJAX有选择地针对所涉及的控件进行操作。我很容易在页面中对WebMethod进行客户端调用- 我的问题是如何通过jQuery将返回的数据返回到ListView中? (注意:我不想使用UpdatePanel!) 问题答案: 我不确定仅由于List

  • 问题内容: 我试图了解如何使用JSONutil在jquery和coldfusion之间对JSON进行序列化/反序列化。我对Coldfusion 7感到困惑,因此无法在cfc中使用该属性。 client.cfc: jQuery ajax调用: 现在在哪里以及如何使用jsonutil使它工作? jsonutil的网站:http ://jsonutil.riaforge.org/ 问题答案: (简要说明