jQuery未在DOM窗口中加载
全部,, 我有以下代码:jQuery未在DOM窗口中加载,jquery,Jquery,全部,, 我有以下代码: $(document).ready(function() { // more code using $ as alias to jQuery alert('it works'); },'jQuery'); 加载页面时,我收到以下错误: Uncaught TypeError: Property '$' of object [object DOMWindow] is not a function 未捕获的TypeError:对象[object DOMWindow]的属性“
$(document).ready(function() {
// more code using $ as alias to jQuery
alert('it works');
},'jQuery');
加载页面时,我收到以下错误:
Uncaught TypeError: Property '$' of object [object DOMWindow] is not a function
未捕获的TypeError:对象[object DOMWindow]的属性“$”不是函数
在我尝试添加这个之前,我已经加载了jQuery
这是如何加载的(我的代码是custom.js):
你知道为什么这行不通吗
$(function() {
alert('it works');
});
这对你不管用吗?这是用于此的标准语法:
如果要创建IIFE(立即调用的函数表达式):
这将在jQuery
对象中为代码创建一个新范围,并将其作为$
传递
更新
我不使用WordPress,但我的理解是$j=jQuery.noConflict()
是运行的,因此jQuery基本上存储在$j
变量中(如果不是自动执行,则需要手动执行):
更新
您是否尝试过使用jQuery
代替$
jQuery(function($) {
alert('it works');
//since `$` was passed into this function, it can be used instead of `jQuery`
});
问题可能是版本冲突。使用
<script>
$.noConflict();
$(document).ready(function() {
// more code using $ as alias to jQuery
alert('it works');
}); //You dont need to pass the pass the extra 'jQuery' Parameter
</script>
$.noConflict();
$(文档).ready(函数(){
//使用$作为jQuery别名的更多代码
警报(“它工作”);
}); //您不需要传递额外的“jQuery”参数
我也有类似的问题
在我的例子中,superfish菜单工作正常,但我仍然会遇到这个错误
我有
这可能不适合您,但请尝试删除整个脚本调用,即
<script>
$(document).ready(function(){
$("ul.sf-menu").superfish({
pathClass: 'current'
});
});
</script>
$(文档).ready(函数(){
$(“ul.sf菜单”).superfish({
pathClass:“当前”
});
});
,它对我有效,仍然试图弄清楚它是如何阅读菜单的,但它有效。Firebug不会打扰我,也不会告诉我它不安全。您什么时候在这段代码之前或之后加载jquery脚本?您是否在这段代码之前添加了jquery文件?您做错了什么。可能您还没有包括jquery文件。它正在工作。您是否尝试检查第一个
脚本
是否实际加载了任何代码?我在Wordpress中使用它,所以我这样做是因为Wordpress没有冲突。@user1048676查看我答案的更新。我不知道WordPress是否自己执行$.noConflict()
,或者您是否必须这样做。@user1048676查看我的上次更新。您应该能够在全局范围内使用jQuery
代替$
。
$j(function ($) {
alert('it works');
//you can now use $() instead of $j()
});
jQuery(function($) {
alert('it works');
//since `$` was passed into this function, it can be used instead of `jQuery`
});
<script>
$.noConflict();
$(document).ready(function() {
// more code using $ as alias to jQuery
alert('it works');
}); //You dont need to pass the pass the extra 'jQuery' Parameter
</script>
<script>
$(document).ready(function(){
$("ul.sf-menu").superfish({
pathClass: 'current'
});
});
</script>
TypeError: $("ul.sf-menu").superfish is not a function
[Break On This Error]
pathClass: 'current'
<script>
$(document).ready(function(){
$("ul.sf-menu").superfish({
pathClass: 'current'
});
});
</script>