我想添加一个新的方法到jQuery,以便我可以做一些像$('#id').MyOwnFunc()
。我的困惑是从不同的网站和堆栈溢出,我可以看到我可以使用以下两种方法之一:通过直接建立在fn
,也是一个方法在jQuery中添加方法的困惑
// #1
jQuery.fn.MyOwnFunc = function() {
var o = $(this[0]) // It's your element
return this; // This is needed so others can keep chaining off of this
};
// #2
jQuery.fn.extend({
MyOwnFunc: function() {
return this.each(function() {
this.checked = true;
});
},
});
因此,我们可以通过上面的方法都建立在jQuery的新方法使用fn.extend
所以我的困惑是:
- 我的理解错了吗?
- 如果否,两者都可以使用,那么当我们已经有选项1时,为什么我们有
fn.extend()
? - 哪个更好?
请好心解释一下,因为我已经浏览了很多网站,但不明白你为什么有两种方法?