jquery的自定义方法

anssummer 2013-01-13 08:32:36
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')不能自定义函数呢?
...全文
349 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
jsgysyd 2013-01-14
  • 打赏
  • 举报
回复
要想扩展jquery的方法使用

$.fn.extend({
    aa: function () {
        alert(1);
        return this;
    }
    ,aa1: function () {
        return this;
    }
    ,aa2: function () {
        return this;
    }
});
以上你说的是因为对象不一样。
liangws 2013-01-14
  • 打赏
  • 举报
回复
LZ写错了吧,你得先用变量存放$('p'),要不每次获取的都是新的jquery对象 var pNodes = $('p'); pNodes.aa = function(){ //dosth } pNodes.aa(); 如果你想扩展jquery方法就用3楼的办法
scscms太阳光 2013-01-13
  • 打赏
  • 举报
回复
$("p")返回的是一群组对象。 $('p').aa你这是给jquery添加方法,但没自己定义方法直接调用当然出错!不能简单理解$("p")=new Object
张运领 2013-01-13
  • 打赏
  • 举报
回复
$('p').应该是取得Element对象,这个不同于object对象吧?

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧