Jquery 意外标识符-函数的工作方式

Jquery 意外标识符-函数的工作方式,jquery,Jquery,我试图创建一个小的简单jquery函数,但我不知道如何解决这个问题,也找不到在线的简单资源来阅读如何创建带有两个变量的简单函数。 我的代码是 jQuery(function ($) { function infoText(menuitem,textinfo) { menuitem.click(function(){ textinfo.fadeIn(300); } } infoText('.come-realizzo

我试图创建一个小的简单jquery函数,但我不知道如何解决这个问题,也找不到在线的简单资源来阅读如何创建带有两个变量的简单函数。 我的代码是

jQuery(function ($) {
    function infoText(menuitem,textinfo) {
        menuitem.click(function(){
            textinfo.fadeIn(300);
        }
    }

    infoText('.come-realizzo','#come-realizzo');
    infoText('.works','#works');

});
调用该函数时,出现以下错误:

未捕获的SyntaxError:第9行出现意外标识符( infoText('.come realizzo','#come realizzo');)


谢谢

如果要传递字符串,需要使用如下所示的
$(/*selector*/)
将其转换为jquery对象

改变

menuitem.click(function () {
  textinfo.fadeIn(300);
}


如果要传递的是字符串而不是标识符,请使用以下代码

infoText($('.come-realizzo'),$('#come-realizzo') );
如果要将文本而不是选择器传递给函数,也可以使用其他解决方案

  $( menuitem).click(function(){
  $( textinfo).fadeIn(300);

单击处理程序函数末尾缺少结束参数

由于未在
infoText
函数中引用jQuery对象,因此实际无法工作,有两种可能的解决方案:

  • 将jQuery对象作为参数传递
  • 从传递的字符串中获取jQuery对象
第一:

jQuery(function ($) {
    function infoText($menuitem,$textinfo) {
        $menuitem.click(function(){
            $textinfo.fadeIn(300);
        });
    }

    infoText($('.come-realizzo'),$('#come-realizzo'));
    infoText($('.works'),$('#works'));

});
第二:

jQuery(function ($) {
    function infoText(menuitem,textinfo) {
        $(menuitem).click(function(){
            $(textinfo).fadeIn(300);
        });
    }

    infoText('.come-realizzo','#come-realizzo');
    infoText('.works','#works');

});

textinfo.fadeIn(300)之后的一行中缺少括号想要得到一个有用的答案,请说出你改变了什么(而不是让别人四处寻找额外的paren之类的),以及为什么。@T.J.Crowder是的,我应该在开始时添加这个,编辑了答案谢谢:)在
infoText
中有一个语法错误,这可能是更重要的问题。但是他的主要问题是传递字符串而不是标识符@sino:我认为阻止脚本被评估的语法错误是“主要”问题。但是是的,两者都必须被修复才能正常工作。
jQuery(function ($) {
    function infoText(menuitem,textinfo) {
        $(menuitem).click(function(){
            $(textinfo).fadeIn(300);
        });
    }

    infoText('.come-realizzo','#come-realizzo');
    infoText('.works','#works');

});