项目中使用了prototype这个框架,一直在学习感觉还是比较好用的,推荐给大家
原prototype.js有$()相当于 getElementById,却没有 getElementsByName 与 getElementsByTagName,因此这里可以做个扩展,定义 $N() 的功能等于getElementsByName,代码如下:
function $N() {
return document.getElementsByName(arguments[0]);
}
需要注意的是,getElementsByName前面必须是document,不能为其他object,并且这里的ByName是很宽松的,只要元素的 name 或 id 属性值等于指定的值,就都返回回来。

扩展 getElementsByTagName 为 $T(),代码如下:
function $T() { // $T('input','box')
if (arguments.length==1){
return document.getElementsByTagName(arguments[0]);
}
else if(arguments.length==2){
if (typeof(arguments[1])=="object"){
return arguments[1].getElementsByTagName(arguments[0]);
}
else{
return $(arguments[1]).getElementsByTagName(arguments[0]);
}

}
$T() 可以带两个参数,第一个参数是元素标签的名字,即tagName,第二个参数是指定查找的范围,可以是id也可以是object,如 $T("input",$("box")) 与 $T("input","box") 都是相同的意思,返回值都是在box元素下面的所有标签名为input的元素数组。其中第二个参数可选。
在线中文帮助文档:https://compdoc2cn.dev.java.net/prototype/html/prototype.js.cn.html
prototype框架及帮助文档下载 提取码为:d155a5cd
仅提供12天的下载
http://exs.mail.qq.com/cgi-bin/downloadfilepart?svrid=5&fid=6830e473b59fc3f7eae8c086806aa76a84d3e9ce19ec44d1
posted on 2007-12-10 16:38 LifeNote 阅读(1464) 评论(2)  编辑  收藏 所属分类: Javascript
Comments
  • # re: 扩展 prototype.js,增加 $T() 与 $N()
    stonexu
    Posted @ 2007-12-11 09:28
    $$ ()是在DOM中的 document. getElementByTagName () 方法的一个便利的简写。  回复  更多评论   
  • # re: 扩展 prototype.js,增加 $T() 与 $N()
    LifeNote
    Posted @ 2007-12-11 09:43
    $$ () 这个是prototype.js框架里的么
      回复  更多评论   

只有注册用户登录后才能发表评论。


网站导航: