JQuery同位素插件神秘错误

时间:2013-04-15 19:56:38

标签: jquery wordpress jquery-plugins jquery-isotope

我目前正在使用一个教程来学习如何在我正在构建的wordpress主题中实现一个名为“Isotope”的JQuery插件。以下是我正在使用的教程的链接:http://www.designlunatic.com/2011/08/isotope-tutorial/#wpcf7-f780-w1-o1

我在functions.php文件中引用了JQuery库,我已经使用wp_enqueue_script(和wp_register_script)函数将它排队并且同位素.js文件(我也注册了这个文件)。我知道这些文件正在链接,因为当我查看源代码并单击链接时,我不会收到错误。文件出现,它们似乎通过wp_head函数正确链接。

我遇到的问题是使用同位素的脚本在控制台中给我一些错误。

我尝试了一些不同的方法,但错误通常是:

  

“未捕获的TypeError:对象[对象对象]的属性'$'不是函数”

错误是指文档头部中包含的以下脚本:

<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:对象[对象对象]的属性'JQuery'不是函数”

我在这里做错了什么?我尽可能地遵循教程说明。请帮忙!谢谢!

1 个答案:

答案 0 :(得分:3)

jQuery中的 J 不是大写的。它的小写。所以,如果你把它改成jQuery(document).ready(function($){});,它应该有用。

如果您的代码中某处启用了jQuery noConflict模式,则会出现错误。

WordPress附带的jQuery库设置为noConflict()模式。有关详细信息,请参阅wp_enqueue_script的代码。

干杯! :)