原生javascript操作class-元素查找-元素是否存在-添加class-移除class

    
//判断元素是否有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; }
复杂的事情简单化,简单的事情重复做。
原文地址:https://www.cnblogs.com/zhidong123/p/3773585.html