未捕获的ReferenceError:未定义jQuery-尽管已加载jQuery

时间:2022-02-24 作者:Paranoia

我知道这是一个讨论得很好的问题,但我没有找到我的问题的任何答案。我在Wordpress页面上有以下代码(内联,此项目所需):

<script>
(function ($) {
    $(document).ready(function () {
    $(\'.choosekurs\').on(\'click\', function() {
        $(\'textarea[name="textarea"]\').text($(this).attr(\'data-attr-package\')); 
     });
})(jQuery);
</script>
我也试过另一种方法:

<script>
jQuery(document).ready( function($){
    $(\'.choosekurs\').on(\'click\', function() {
        $(\'textarea[name="textarea"]\').text($(this).attr(\'data-attr-package\')); 
  });
});
</script> 
不幸的是,我仍然得到同样的错误。我可以看到jQuery正在页脚中加载(v3.6.0以及3.3.2迁移版本),所以我不确定我到底做错了什么。非常感谢您的帮助!

2 个回复
SO网友:Rafael Atías

错误是不言而喻的。插入代码时,jQuery尚未定义。你必须把它script 加载jQuery后。

如果您无法更改jQuery的定义位置,正如您在对的评论中所说Pat J\'s answer, 然后将脚本插入<footer>.

SO网友:Pat J

如果内联<script><head><body> 如果jQuery加载到页面的页脚(即,在末尾),那么当您试图运行jQuery代码时,jQuery不存在。

要么排队jquery 加载收割台(即,设置$in_footer 参数到false), 或者更好的选择使用wp_enqueue_script() 以正确加载脚本。后一个选项还允许您定义jquery 作为脚本的依赖项。

相关推荐

JQuery php请求返回一个奇怪的结果

我有一个奇怪的小故障发生在我身上,我不知道我是如何产生它的,或者它是否是正常的。我正在开发自己的插件,当一个足球队/足球队被输入到一个框中时,它会检查它是否已经在数据库中。以下是我的代码行add_action( \'admin_footer\', \'fws_teamcheck_javascript\' ); function fws_teamcheck_javascript() { ?> <script type="text/javascript">