Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我有一个函数,但在firebug控制台中,它说它不是我调用它的函数?_Javascript_Jquery_Firebug - Fatal编程技术网

Javascript 我有一个函数,但在firebug控制台中,它说它不是我调用它的函数?

Javascript 我有一个函数,但在firebug控制台中,它说它不是我调用它的函数?,javascript,jquery,firebug,Javascript,Jquery,Firebug,我在两个站点中使用一个函数,但当我想将它实现到第三个站点时,它不起作用。当我查看firebug控制台时,它说它不是一个函数。我的函数位于名为profilter.js的单独文件中,如下所示: jQuery.fn.sfProductFilter = function (options) { options = options || {}; return this.each(function () { var pf = new SFProductFilter(this,

我在两个站点中使用一个函数,但当我想将它实现到第三个站点时,它不起作用。当我查看firebug控制台时,它说它不是一个函数。我的函数位于名为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-如果I console.log来自js文件,它可以工作,但在任何代码块中都不能工作 3-ul.productSmall在console.log中显示正确的结果

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

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


是否包括jquery ui脚本?看起来在中调用了.button()

function myChecks(){
    $("#checkboxcontainer input[type='checkbox']").button();
}
我有预感,这会奏效的

(复制自。)


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

重置浏览器缓存并重试,检查脚本是否实际加载如何检查脚本正在加载?sfProductFilter或sfProductFilter不是函数?Firebug>Net[Tab]>All[sub Tab],在
jQuery.fn.sfProductFilter=
行之前的行中添加一些
console.log
,查看输出是在
console.log($(“ul.productSmall”))之前还是之后您已经有了。控制台中显示:$(“ul.productSmall”).sfProductFilter不是函数[在此错误时中断]$(“ul.productSmall”).sfProductFilter();您的脚本是在jQuery之前还是之后包含的?其中是jQuery.fn.sfProductFilter=function(options){options=options | |{};返回此值。每个(function(){var pf=new sfProductFilter(this,options)}调用?希望一旦您包含jQuery UI,这可能会自行修复是的,您是对的,但真正的问题是我包含了jQuery两次——感谢您的努力并指出了jQuery的问题!在使用框架(如WP、Drupal等)时,包含jQuery是非常常见的。因此,当您添加自己的jQuery include时,一个会覆盖另一个。您应该始终使用var$myJQ=jQuery.noConflict();然后将扩展添加到$myJQ。这将确保您在使用更大的代码库时不会遇到类似的问题。