【发布时间】:2013-04-15 19:56:37
【问题描述】:
我目前正在使用教程来学习如何在我正在构建的 wordpress 主题中实现一个名为“Isotope”的 JQuery 插件。这是我正在使用的教程的链接:http://www.designlunatic.com/2011/08/isotope-tutorial/#wpcf7-f780-w1-o1
我已经在 functions.php 文件中引用了 JQuery 库,并且我已经使用 wp_enqueue_script(和 wp_register_script)函数将它和 isotope.js 文件(我也注册了这个文件)加入了队列。我知道这些文件被链接到,因为当我查看源代码并单击链接时,我没有收到错误消息。文件出现了,它们似乎通过 wp_head 函数正确链接。
我遇到的问题是使用同位素的脚本在控制台中给了我某种错误。
我尝试了几种不同的方法,但错误通常是:
“未捕获的类型错误:对象 [object Object] 的属性 '$' 不是函数”
错误是指文档头部包含的以下脚本:
<script type="text/javascript">
$(document).ready(function() {
alert('called');
var $container = $('#content');
$container.isotope({
filter: '*',
animationOptions: {
duration: 750,
easing: 'linear',
queue: false
}
});
$('#nav a').click(function() {
var selector = $(this).attr('data-filter');
$container.isotope({
filter: selector,
animationOptions: {
duration: 750,
easing: 'linear',
queue: false
}
});
return false;
});
});
</script>
我尝试将其作为单独的脚本加载,并依赖于 JQuery 进行注册/入队,这给了我基本相同的错误。我还尝试将 '$' 替换为 'JQuery' 并将 '$' 放在函数的参数中。当我切换时出现此错误:
“未捕获的 TypeError:对象 [object Object] 的属性 'JQuery' 不是函数”
我在这里做错了什么?我已经尽可能地按照教程说明进行操作。请帮忙!谢谢!
【问题讨论】:
-
jQuery 中的 J 不是大写的。它的小写字母。所以,如果你把它改成
jQuery(document).ready(function($){});,它应该可以工作。 -
说真的……我讨厌自己。你不知道我有多头疼。就我而言,这是一个非常愚蠢的小错误,但这确实有效。如果你想把它作为这个问题的答案,我会检查它。非常感谢!
-
另外...为什么当 jquery 已经被明确引用时,这个脚本不能与 '$' 一起使用?
标签: jquery wordpress jquery-plugins jquery-isotope