Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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
这是一个jQuery中的JavaScript和函数_Javascript_Jquery_Function_This - Fatal编程技术网

这是一个jQuery中的JavaScript和函数

这是一个jQuery中的JavaScript和函数,javascript,jquery,function,this,Javascript,Jquery,Function,This,我想编写一个JavaScript函数,并以以下方式在this对象上调用它: <div id= 'MyDiv'>screamer</div> function scream() { if(this.hasClass("scream")) { alert("scream"); } else { alert("shhhh"); } } $(function () { $('#MyDiv").scream(); 尖叫者 函

我想编写一个JavaScript函数,并以以下方式在this对象上调用它:

<div id= 'MyDiv'>screamer</div>

function scream()
{
   if(this.hasClass("scream")) {
      alert("scream");
   }
   else {
      alert("shhhh");
   }
}
$(function () {
   $('#MyDiv").scream();
尖叫者 函数尖叫() { 如果(这个.hasClass(“尖叫”)){ 警惕(“尖叫”); } 否则{ 警报(“shhhh”); } } $(函数(){ $(“#MyDiv”).cream(); }

以下是JSFIDLE:


我做错了什么?

尖叫
是全局的,因此它是
窗口
对象的属性,而不是您创建的
jQuery
对象

如果您想,则需要将其分配给
$.fn.something

function scream() {
    //etc
}
$.fn.scream = scream;

cream
是一个全局属性,因此它是
窗口
对象的属性,而不是您创建的
jQuery
对象

如果您想,则需要将其分配给
$.fn.something

function scream() {
    //etc
}
$.fn.scream = scream;
像这样:

jQuery.fn.scream = function() {
    if(this.hasClass("scream")) {
        alert("scream");
    } else {
        alert("shhhh");
    }
}  
$(function () {
     $('#MyDiv').scream();
});
jsiddle:.

像这样:

jQuery.fn.scream = function() {
    if(this.hasClass("scream")) {
        alert("scream");
    } else {
        alert("shhhh");
    }
}  
$(function () {
     $('#MyDiv').scream();
});

JSFIDLE:。

在您的代码中还有更多错误:

  • 我将您的代码更改为“替换为”,但您也可以使用此字符”
  • 无法使用jquery使用
    $('#MyDiv')调用的函数尖叫。尖叫();
    我把这个换成

     $(function () {
           scream($("#MyDiv"));});
    
  • 我不知道如何使用这个调用$(“#MyDiv”).scream();我通过
    div


    在您的代码中还有更多错误:

  • 我将您的代码更改为“替换为”,但您也可以使用此字符”
  • 无法使用jquery使用
    $('#MyDiv')调用的函数尖叫。尖叫();
    我把这个换成

     $(function () {
           scream($("#MyDiv"));});
    
  • 我不知道如何使用这个调用$(“#MyDiv”).scream();我通过
    div


    您必须创建自己的对象,请遵循jQuery api手册:

    您的解决方案:

    (function ( $ ) 
    {
      $.fn.scream = function() 
      {
        var c = $(this);
    
       if(c.hasClass("scream")) {
          alert("scream");
       }
       else {
          alert("shhhh");
       }
    
        return this;
      };
    
    }( jQuery ));
    
    $(function () {
       $('#scream').scream();
         });
    
    <div id="scream" class="screaam"></div>
    
    HTML标记:

    (function ( $ ) 
    {
      $.fn.scream = function() 
      {
        var c = $(this);
    
       if(c.hasClass("scream")) {
          alert("scream");
       }
       else {
          alert("shhhh");
       }
    
        return this;
      };
    
    }( jQuery ));
    
    $(function () {
       $('#scream').scream();
         });
    
    <div id="scream" class="screaam"></div>
    
    
    
    工作示例:


    干杯!

    您必须创建自己的对象,请遵循jQuery api手册:

    您的解决方案:

    (function ( $ ) 
    {
      $.fn.scream = function() 
      {
        var c = $(this);
    
       if(c.hasClass("scream")) {
          alert("scream");
       }
       else {
          alert("shhhh");
       }
    
        return this;
      };
    
    }( jQuery ));
    
    $(function () {
       $('#scream').scream();
         });
    
    <div id="scream" class="screaam"></div>
    
    HTML标记:

    (function ( $ ) 
    {
      $.fn.scream = function() 
      {
        var c = $(this);
    
       if(c.hasClass("scream")) {
          alert("scream");
       }
       else {
          alert("shhhh");
       }
    
        return this;
      };
    
    }( jQuery ));
    
    $(function () {
       $('#scream').scream();
         });
    
    <div id="scream" class="screaam"></div>
    
    
    
    工作示例:


    干杯!

    您似乎想创建一个jQuery插件。请阅读以下内容:。不过还有其他问题,例如,您使用了不匹配的引号:
    $(“#MyDiv”)
    。如果您想创建jQuery插件,您也可以尝试预订。请阅读以下内容:。但是还有其他问题,例如,您使用了不匹配的引号:
    $(“#MyDiv”)
    。您也可以尝试预订