论坛首页 Web前端技术论坛

prototype 中$ 构造好以后,怎么给加上hide()的!

浏览 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()   //这样就出错了!
   发表时间:2007-09-17  
你可以参考下
http://boin.iteye.com/blog/120371

里面分析了prototype对Element method的处理。
0 请登录后投票
   发表时间:2007-09-17  
Element 和 $ 不是一个对象!
Element = {}
$ 是一个数组
不能这样加
0 请登录后投票
   发表时间:2007-09-17  
其实是  return Element.extend(element);当然如果存在HTMLElement构造函数的话,不extend也可以,最高是从Object继承来得
0 请登录后投票
   发表时间:2007-09-17  
Element根本不存在啊
这样的理论就是
return elements.extend(element);
试过不行,
请给个,可行的code!
0 请登录后投票
   发表时间:2007-09-17  
我说的是Prototype代码,随便下一个,自己看看代码
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics