我已经使用 jQuery 好几年了,在我工作的任何站点中包含 jQuery 脚本后,我总是使用 $
来表示 jQuery 对象。例如:
$('#my_selector').click(function(){...
几年前我用 Joomla 1.6 建立了一个网站,有 200 多个页面,几乎所有页面都使用了 jQuery,所有页面都带有 $
。现在我正在用 Joomla 3.3.0 重建网站。有趣的是,现在有时 $
在识别 jQuery 对象时不起作用,但当我使用 jQuery
时它起作用了。例如。上面的代码示例必须更改为:
jQuery('#my_selector').click(function(){...
那行得通。最后最奇怪的是,在一个页面上,$
似乎适用于某些 jQuery 但不是全部。我看到的错误是这个:
TypeError: undefined is not a function
似乎问题主要出现在加载完成
情况下运行的函数上。不管怎样,我只是想知道外面的人是否知道为什么 $
会停止识别 jQuery 函数和对象。
谢谢!
最佳答案
您很可能正在使用一个冲突的库,这意味着:另一个声明(并因此覆盖)变量 $
的脚本/库。将所有代码包装在一个闭包中,这样就可以了:
(function($) {
$('#my_selector').doStuff();
})(jQuery)
或者,如果需要在文档准备好后执行:
jQuery(document).ready(function($) {
$('#my_selector').doStuff();
});
关于javascript - $ 不适用于新网站中的 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24386538/