jquery的自定义方法
1.普通对象
o=new Object;
o.a=function(){alert(1)}
o.a() //输出1
2.jquery对象
html结构:
<p>1</p>
<p>2</p>
jquery代码:
$('p').aa=function(){ //$是jquery的标识
alert(1)
}
$('p').aa() //TypeError: $('p').aa is not a function
$('p')和o都是一个对象实例,为什么$('p')不能自定义函数呢?
------解决方案--------------------$("p")返回的是一群组对象。
$('p').aa你这是给jquery添加方法,但没自己定义方法直接调用当然出错!不能简单理解$("p")=new Object
------解决方案--------------------要想扩展jquery的方法使用
$.fn.extend({
aa: function () {
alert(1);
return this;
}
,aa1: function () {
return this;
}
,aa2: function () {
return this;
}
});
以上你说的是因为对象不一样。
------解决方案--------------------LZ写错了吧,你得先用变量存放$('p'),要不每次获取的都是新的jquery对象
var pNodes = $('p');
pNodes.aa = function(){
//dosth
}
pNodes.aa();
如果你想扩展jquery方法就用3楼的办法