原生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         }
      View Code

       

       

       

      posted on 2013-06-04 22:19  仙梦之飘  阅读(1698)  评论(0编辑  收藏  举报