Jquery 必须加载两次才能工作,否则会失败

Jquery has to load twice to work or it fails

我有我的 wordpress 页面,显然它已经加载了 JQuery,但如果我不再加载它(而且版本完全相同),我使用的任何 Jquery 功能都将无法显示$ 无法识别。

示例:https://delaytelo.com/recipes/ 它加载了两次,但从 cloudflare 中删除一次会导致分页...

根据评论,您需要这样做:

jQuery(document).ready(function($) { 
    $(document).on('click','#calculatecal',function(){ 
        $("#caloryresult h3").html( $("input[name=calculation-1]").val() + " Kcal");         
    }); 
}); 

原因不是您在 jQuery 初始化之前尝试使用它。实际原因是:

  1. WordPress 将 jQuery 添加为 jQuery 而不是 $。在 WordPress 站点中,jQuery 永远不会缩写为 $,因为它可能与其他以 $ 作为标识符的 javascript 库冲突。

如果您将 $ 作为参数提供,您仍然可以在文档就绪回调中使用它,因为 jQuery 被编程为提供自己的对象作为此文档就绪函数的参数。所以这个:function($) 将使 jQuery 对象在函数内部可用为 $.

  1. 你必须告诉 jQuery 等待 DOM 准备好才能操作 DOM。这就是为什么应该使用 jQuery(function($){});...

对于想知道问题出在哪里的人:使用 Jquery 时没有检查 Jquery 是否已加载的功能。例如: jQuery(文档).ready(函数($) {

}) 阅读更多: How do I add a simple jQuery script to WordPress?