JS $('x').myfunction不是一个函数

fun*_*err 1 javascript jquery

我很想知道可能导致功能"不存在"的原因是什么.
例如,我有以下内容:

$.fn.myfunction = function(options){
  alert("test");
};
  $("#hello").myfunction();
alert($.fn.myfunction instanceof Function);
Run Code Online (Sandbox Code Playgroud)

为什么FireBug会记录它不是一个函数?

提前致谢.

编辑:
我想列出可能导致错误的所有可能性.这不是我得到的错误,但我只是想扩大我的观点并意识到更多的可能性.

aps*_*ers 5

设置$.fn.myfunction使myfunction函数可用于返回的对象$(selector),而不是$自身.

因此,$("#hello").myfunction是一个功能,但$.myfunction不是.如果你真的想$.myfunction出于某种原因成为一个函数(例如,它是一个不需要运行jQuery对象列表的实用函数),只需显式设置它,而不使用$.fn:

$.myfunction = function() { .... }
Run Code Online (Sandbox Code Playgroud)

  • 它是[`.each()`](http://api.jquery.com/each/)和[`$ .each()`]之间的区别(http://api.jquery.com/jQuery.each /).两者都是完全不同的功能. (2认同)