//-------------------封裝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; } }