//判断元素是否有class
function hasClass(ele, cls) {
return ele.className.match(new RegExp('(\s|^)'+cls+'(\s|$)'));
}
//元素增加class
function addClass(ele, cls) {
if (!hasClass(ele, cls)) ele.className += " "+cls;
}
//元素移除class
function removeClass(ele, cls) {
if (hasClass(ele, cls)) {
var reg = new RegExp('(\s|^)'+cls+'(\s|$)');
ele.className = ele.className.replace(reg, ' ');
}
}
/* className, rootId(限制范围id名), tagName(标签名称)*/
function getElementsByClassName(cls, rid, tag) {
root = rid && document.getElementById(rid) || document;
if (root.getElementsByClassName) {
return root.getElementsByClassName(cls);
}
tag = tag || '*';
var elems = root.getElementsByTagName(tag);
var ret = [];
for (var i = 0, len = elems.length; i < len; i++) {
var elem = elems[i];
if ((' ' + elem.className + ' ').indexOf(' ' + cls + ' ') > -1) {
ret.push(elem);
}
}
return ret;
}