为什么简单的fn.extend不起作用?

时间:2014-01-22 02:32:20

标签: jquery

我确信这很简单,但我很想念它 - 为什么<script>标签内的以下内容不起作用并弹出警报?

jQuery.fn.extend({
    sayHi: function () {
        alert('hello!');
    }
});

$(document).ready(function () {
    jQuery.sayHi();
});

1 个答案:

答案 0 :(得分:8)

因为您设置了jQuery.fn.sayHi,而不是jQuery.sayHiundefined,因此会出现运行时错误。)

您在jQuery.fn上设置的方法仅适用于选择(jQuery对象),而不适用于jQuery函数。

jQuery('body').sayHi();可行。

有关插件开发的更多信息,请参阅http://learn.jquery.com/plugins/basic-plugin-creation/