浏览 4224 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-09-17
function $() { var elements = new Array(); for (var i = 0; i < arguments.length; i++) { var element = arguments[i]; if (typeof element == 'string') element = document.getElementById(element); if (arguments.length == 1) return element; elements.push(element); } return elements; } //用来继承 var Abstract = new Object(); Object.extend = function(destination, source) { for (property in source) { destination[property] = source[property]; } return destination; } ///请教如何给$("aa")添加 hide()方法的! if (!window.Element) { var Element = new Object(); } Object.extend(Element, { hide: function() { for (var i = 0; i < arguments.length; i++) { var element = $(arguments[i]); element.style.display = 'none'; } } } 自己试过 var a={ tt:function(){alert("OK")} } Object.extend($,a) $.tt() //弹出OK $("id").tt() //这样就出错了! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-09-17
你可以参考下
http://boin.iteye.com/blog/120371 里面分析了prototype对Element method的处理。 |
|
返回顶楼 | |
发表时间:2007-09-17
Element 和 $ 不是一个对象!
Element = {} $ 是一个数组 不能这样加 |
|
返回顶楼 | |
发表时间:2007-09-17
其实是 return Element.extend(element);当然如果存在HTMLElement构造函数的话,不extend也可以,最高是从Object继承来得
|
|
返回顶楼 | |
发表时间:2007-09-17
Element根本不存在啊
这样的理论就是 return elements.extend(element); 试过不行, 请给个,可行的code! |
|
返回顶楼 | |
发表时间:2007-09-17
我说的是Prototype代码,随便下一个,自己看看代码
|
|
返回顶楼 | |