0

我在两个站点中使用一个函数,但是当我想将它实现到第三个站点时它不起作用。当我查看萤火虫控制台时,它说它不是一个功能。我的函数位于一个名为 profilter.js 的单独文件中,如下所示:

jQuery.fn.sfProductFilter = function (options) {
    options = options || {};
    return this.each(function () {
        var pf = new SFProductFilter(this, options)
    })
}

我从一个页面调用它,代码是:

$(document).ready(function(){
            console.log($("ul.productSmall"));
            $('ul.productSmall').sfProductFilter(); //says not a function.
});

我已经通过console.log检查了以下1-已经包含jQuery 2-如果我从js文件中使用console.log,它可以工作,但在任何代码块内它都不会3-ul.productSmall在console.log中显示正确的结果

我可以提供网站链接,但只是不提供,所以版主不会认为它是垃圾邮件。

我挣扎了很多,请让我知道我在哪里犯错?

控制台看起来像

4

2 回答 2

2

(从上面的评论复制。)

您包含 jQuery 两次,第二次加载远远低于 profilter.js 的包含并破坏您的自定义函数。

于 2012-04-06T07:24:55.377 回答
0

您是否包括 jquery ui 脚本?看起来 .button() 被调用

function myChecks(){
    $("#checkboxcontainer input[type='checkbox']").button();
}

我有预感这会成功的。

于 2012-04-06T04:37:50.623 回答