javascript自定义自己的$

在多个脚本库中$是用来代替document.getElementById使用的,现在开始自定义一个自己的$,用在自己的脚本中。

 1 function $(){
 2     //用来存取查找到的元素
 3     var elements=new Array();
 4     //查找做为参数提供的所有元素
 5     for(var i=0;i<arguments.length;i++){
 6         var element=arguments[i];
 7         //如果参数类型是字符串那假设它是一个id
 8         if(typeof element=="string"){
 9             element = document.getElementById(element);
10         }
11         //判断参数个数
12         if(arguments.length==1){
13             //如果参数个数是1,则立即返回该元素
14             return element;
15         }else{
16             //如果参数个数不是1,则把查找到的元素存在elements数组中
17             elements.push(element);
18         }
19     }
20     //返回查找到的元素的数组
21     return elements;
22 }

这个$符号可以传入一个id字符串,则返回一个元素;如果传入多个id字符串,则可以返回一个包含多个元素的数组。

 1 //html
 2 <div id="cont">
 3     <ul>
 4     <li id="one">1</li>
 5     <li id="two">2</li>
 6     <li id="three">3</li>
 7     <li id="4">4</li>
 8     <li>5</li>
 9     <li>6</li>
10     <li>7</li>
11     <li>8</li>
12     </ul>
13 </div>

测试脚本:

1 $("cont").style.color="#f00";
2 var list = $("one","two","three");
3 list.style.color="#000";
4 forvar i=0;i<list.length;i++){
5     list[i].style.color="#000";
6 }       

缩写版的$定义:

1 function $(id){
2     return (id) && (typeof id === 'string' ? document.getElementById(id) : id);
3 }

 

posted @ 2011-03-03 22:53  郭培  阅读(261)  评论(0编辑  收藏  举报