原生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.显示和隐藏函数
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前端
浙公网安备 33010602011771号