参照prototoype.js 框架的部分代码,可以这样写: function $(){ var elements = new Array(); //声明一个空的数据
for (var i = 0; i < arguments.length; i++) { //然后根据实参的数目来循环 var element = arguments[i]; if (typeof element == 'string') //如果是string类型,就获取这个对象的引用 element = document.getElementById(element);
if (arguments.length == 1) return element;
elements.push(element); }
return elements; //返回一个数组 }
随便贴一个获得几个class的。 var getElementByClassName = function (cls,elm) { var arrCls = new Array(); var seeElm = elm; var rexCls = new RegExp('(^|\\\\s)' + cls + '(\\\\s|$)','i'); var lisElm = document.getElementsByTagName(seeElm); for (var i=0; i<lisElm.length; i++ ) { var evaCls = lisElm[i].className; if(evaCls.length > 0 && (evaCls == cls || rexCls.test(evaCls))) { arrCls.push(lisElm[i]); } } return arrCls; } getElementByClassName('tabel_text|Database_text','A');
var userName=document.getElementById('userName').value;
<span id="s2">2</span>
<span id="s3">3</span>
<span id="s4">4</span>
$("#s1,#s3,#s4").css('color', 'red');
demo
function $(){
var elements = new Array(); //声明一个空的数据
for (var i = 0; i < arguments.length; i++) { //然后根据实参的数目来循环
var element = arguments[i];
if (typeof element == 'string') //如果是string类型,就获取这个对象的引用
element = document.getElementById(element);
if (arguments.length == 1)
return element;
elements.push(element);
}
return elements; //返回一个数组
}
var getElementByClassName = function (cls,elm)
{
var arrCls = new Array();
var seeElm = elm;
var rexCls = new RegExp('(^|\\\\s)' + cls + '(\\\\s|$)','i');
var lisElm = document.getElementsByTagName(seeElm);
for (var i=0; i<lisElm.length; i++ )
{
var evaCls = lisElm[i].className;
if(evaCls.length > 0 && (evaCls == cls || rexCls.test(evaCls)))
{
arrCls.push(lisElm[i]);
}
}
return arrCls;
}
getElementByClassName('tabel_text|Database_text','A');