首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

jquery的自定义方法,该如何处理

2013-01-17 
jquery的自定义方法1.普通对象onew Objecto.afunction(){alert(1)}o.a()//输出12.jquery对象html结构:

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楼的办法

热点排行