用数组方式 实现获取class属性对象:
var get = { byId: function(id) { return document.getElementById(id) }, byClass: function(sClass, oParent) { var aClass = []; var reClass = new RegExp("(^| )" + sClass + "( |$)"); //理解为^sClass 或者^sClass$或者 sClass 或者 sClass$ var aElem = this.byTagName("*", oParent); //这里的this是指向get这个对象 for (var i = 0; i < aElem.length; i++) reClass.test(aElem[i].className) && aClass.push(aElem[i]); return aClass }, byTagName: function(elem, obj) { return (obj || document).getElementsByTagName(elem) } };
1.获取id元素;
2.获取obj下所有elem标签;如果没有obj则取所有elem标签;
3.1定义一个空数组aClass
3.2定义一个正则,关于class属性值得可能性;
3.3获取oparent下所有标签;
3.4如果该标签满足正则匹配,那么将该对象添加到aClass中,并返回aClass;