标头中的Javascript冲突错误-$未定义

标头中的Javascript冲突错误-$未定义,javascript,jquery,Javascript,Jquery,我有一个有趣的问题。我正在研究wordpress/woocommerce儿童主题。在标题中,我使用javascript帮助创建加载覆盖,直到网页上的所有内容都使用document ready加载,以便向覆盖元素添加类 $(document).ready(function(){ document.getElementById("page-load").className = "loaded" }); 我想这是因为javascript/jQuery冲突导致的。我需要在页眉中使用这个脚本,原因很明显

我有一个有趣的问题。我正在研究wordpress/woocommerce儿童主题。在标题中,我使用javascript帮助创建加载覆盖,直到网页上的所有内容都使用document ready加载,以便向覆盖元素添加类

$(document).ready(function(){ document.getElementById("page-load").className = "loaded" });
我想这是因为javascript/jQuery冲突导致的。我需要在页眉中使用这个脚本,原因很明显,我会尽快添加,但我无法控制主题中主要位于页脚的其他脚本

如何防止该错误:

未定义$


如果只是等待文档加载,您可以尝试:

document.addEventListener("DOMContentLoaded", function() {
    document.getElementById("page-load").className = "loaded";
});

如果只是等待文档加载,您可以尝试:

document.addEventListener("DOMContentLoaded", function() {
    document.getElementById("page-load").className = "loaded";
});

该行是否在添加jQuery JS之前出现?jQuery需要在定义$的脚本之前导入到头中。@Raptor-这不重要,只要jQuery加载到某个地方,例如html文件的末尾,并且位于顶部,就可以了??我想?即使将脚本放在标题中并加载jQuery,类也只会在加载文档后分配。我不会只对$document.ready使用jQuery。将您的代码包含在页面底部,然后使用它。@KraangPrime不正确。如果脚本放在jQuery JS导入行的上方,它将根本不起作用。该行是否发生在添加jQuery JS之前?jQuery需要在该脚本之前的标题中导入,以便定义$。@Raptor-只要jQuery加载到某个地方(例如html文件的末尾),这应该无关紧要,这是在顶部,应该还可以吗??我想?即使将脚本放在标题中并加载jQuery,类也只会在加载文档后分配。我不会只对$document.ready使用jQuery。将您的代码包含在页面底部,然后使用它。@KraangPrime不正确。如果脚本放在jQuery JS导入行之上,它将根本无法工作。哎哟,这看起来太古老了。@Raptor-但它看起来确实相关。这个解决方案所针对的问题甚至不需要jQuery,这是浪费资源加载的$document.ready,正如所指出的。哎哟,这看起来太古老了。@Raptor-但它看起来确实相关。正如前面指出的那样,这个解决方案所针对的问题甚至不需要jQuery,这是对$document.ready的资源加载的浪费。