当我尝试运行这个函数时
(function($) {
$.fn.urlHash = function()
{
return document.URL.substr(document.URL.indexOf('#')+1);
};
})(jQuery);
像这样 $.urlHash()
我在 Google Chrome 控制台中收到一条错误消息,提示 urlHash() 不是函数
。
据我所见(通过谷歌搜索),扩展名编写正确。我做错了什么?
最佳答案
因为您正在访问该方法作为 jQuery 对象的静态方法
(function ($) {
$.urlHash = function () {
return document.URL.substr(document.URL.indexOf('#') + 1);
};
})(jQuery);
当您将属性添加到 $.fn
时,它会添加到 jQuery 对象的原型(prototype)对象中,因此您需要使用 jQuery 对象的实例来访问它
关于javascript - jQuery 自定义扩展抛出不是函数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31156477/