封装getByClass
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了封装getByClass相关的知识,希望对你有一定的参考价值。
方法一:(普通版),获取单一的class:
function getByClass(oParent, sClass) { var aResult = []; var aEle = oParent.getElementsByTagName(‘*‘); for (var i = 0; i < aEle.length; i++) { // 当className相等时添加到数组中 // aEle[i].className.search(sClass)!=-1 // aEle[i].className.indexof(sClass)!=-1 if (aEle[i].className == sClass) { aResult.push(aEle[i]); } } return aResult; };
方法二(多个class获取—>正则表达式):
function getByClass(oParent,sClass) { var aResult = []; var aEle = oParent.getElementsByTagName(‘*‘); var re = new RegExp(‘\\b‘ + sClass + ‘\\b‘, ‘i‘) for (var i = 0; i < aEle.length; i++) { if (re.test(aEle[i].className)) { aResult.push(aEle[i]); } } return aResult; };
方法三(多个class获取—>数组):
function getByClass(oParent,sClass) { var aResult = []; var aEle = oParent.getElementsByTagName(‘*‘); for (var i = 0; i < aEle.length; i++) { var arr = aEle[i].className.split(/\s+/); for (var j = 0; j < arr.length; j++) { if (arr[j] == sClass) { aResult.push(aEle[i]) } } } return aResult; };
以上是关于封装getByClass的主要内容,如果未能解决你的问题,请参考以下文章
JS 封装函数getByClass(oParent,classn)
VSCode自定义代码片段14——Vue的axios网络请求封装
VSCode自定义代码片段14——Vue的axios网络请求封装
VSCode自定义代码片段14——Vue的axios网络请求封装
原生js实现增加(addclass),删除(removeclass),判断是否存在(hasclass),如果存在删除,如果不存在添加(toggleclass)和获取类名(getbyclass)的方法(