原生js封装函数
1.去除FireFox元素之间的空白、换行、tab都是Text节点函数
/*
原理是对元素的所有的子节点做一个遍历。然后做一个判断,如果是子元素节点(nodeType = 1),则遍历该子元素的所有的子节点,用递归检查是否包含空白节点;如果处理的子节点是文本节点(nodeType = 3),则检查是否是纯粹的空白节点,如果是,就将它从xml对象中删除。
*/
1 function removeWhitespace(xml){ 2 var loopIndex; 3 4 5 for (loopIndex = 0; loopIndex < xml.childNodes.length; loopIndex++){ 6 var currentNode = xml.childNodes[loopIndex]; 7 if (currentNode.nodeType == 1){ 8 removeWhitespace(currentNode); 9 } 10 11 12 if (((/^\s+$/.test(currentNode.nodeValue))) &&(currentNode.nodeType == 3)){ 13 xml.removeChild(xml.childNodes[loopIndex--]); 14 } 15 } 16 }
2.常用的id,类名,标签名函数
var get = { byId: function(id) { return document.getElementById(id) }, byClass: function(sClass, oParent) { var aClass = []; var reClass = new RegExp("(^| )" + sClass + "( |$)"); var aElem = this.byTagName("*", oParent); for (var i = 0; i < aElem.length; i++) reClass.test(aElem[i].className) && aClass.push(aElem[i]); return aClass }, byTagName: function(elem, obj) { return (obj || document).getElementsByTagName(elem) } };
3.显示和隐藏函数
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 function toggle(obj) { 2 var el = document.getElementById(obj); 3 if ( el.style.display != 'none' ) { 4 el.style.display = 'none'; 5 } 6 else { 7 el.style.display = ''; 8 } 9 }
关注web前端