【封装】【JS】getClassName方法、get class+id封装

//-------------------封装1 getClassName--------------------------
        //形参传入一个字符串,通过此方法,获取界面中所有含有此类名的DOM元素。
        //并返回包含所有类名DOM的数组
        //因为我们遍历所有的DOM对象很占内存,所以我们可以挑出制定的DOM对象,并从中挑出classname。
        function getClassName(para,obj){
            obj = obj||document;
            if(obj.getElementsByClassName){
                return obj.getElementsByClassName(para);
            } else {
                var boxClass = obj.getElementsByTagName('*');
                var arrClass = [];
                for (var i = 0; i < boxClass.length; i++) {
                    // var name = boxClass[i].className;
                    var nameBox = boxClass[i].className.split(' ');
                    for (var j = 0; j < nameBox.length; j++) {
                        if (nameBox[j] == para) {
                            arrClass.push(boxClass[i]);
                        }
                    };
                };
            }
            return(arrClass);
        }

//封装2 id+class
function
$(para,obj){ if(para.charAt(0) == '#' ){ //通过截取字符串来判断执行的是获取id还是class var arr = para.split("#"); var idName = arr[1]; return document.getElementById(idName); } else if(para.charAt(0) == '.') { var arr1 = para.split("."); var classming = arr1[1]; obj = obj||document; if(obj.getElementsByClassName){ return obj.getElementsByClassName(classming); } else { var boxClass = obj.getElementsByTagName('*'); var arrClass = []; for (var i = 0; i < boxClass.length; i++) { var nameBox = boxClass[i].className.split(' '); for (var j = 0; j < nameBox.length; j++) { if (nameBox[j] == classming) { arrClass.push(boxClass[i]); } }; }; } return(arrClass); } else { return false; } }
原文地址:https://www.cnblogs.com/LeeHT/p/6243798.html