有思俱乐部

javascript封装


主要方法:


	substring:方法用于提取字符串中介于两个指定下标之间的字符。 语法stringObject.substring(start,stop)
	setAttribute:setAttribute() 方法添加指定的属性,并为其赋指定的值。语法element.setAttribute(attributename,attributevalue)
	inserBefore:方法在您指定的已有子节点之前插入新的子节点。语法node.insertBefore(newnode,existingnode)
	for in() 遍历d对象

定义的方法作用介绍:

getElementByString()方法 获取第一个字符后得到带有指定的元素
addNewMethod()方法 添加方法
$$()方法 添加属性

	    //$("#aaa")
	    $ = function (string) { // element 
	        return getElementByString(string);
	    }

	    function getElementByString(name) {
	        var r = name.substring(0, 1);   //获取name的第一个字符
	        var n = name.substring(1, name.length);  //获取第一个字符后面的所有字符
	        var e;
	        switch (r) {   //判断r的值
	            case "#": e = document.getElementById(n); break;
	            case ".": e = document.getElementsByClassName(n);
	            default: e = document.getElementsByTagName(name); break
	        }

	        return addNewMethod(e);  //给获取到的元素添加方法
	    }

	    function addNewMethod(element) {
	        getmethods =   //定义方法
				{
				remove: function () {
				    element.parentNode.removeChild(element);  //获取element的父元素后删除指定子元素
				},
				Child: function () {
				    return element.children;  				   //返回element的元素节点

				},
				addAttr: function (attr) {
				    var a;
				    for (a in attr) {
				        element.setAttribute(a, attr[a]); 	//遍历对象添加属性
				    }
				},
				add: function (atrr) {
				    console.log(atrr);  //控制台输出atrr对象
				    var i, j;
				    for (i in atrr) {    //遍历atrr对象
				        if (i == "style") {
				            for (j in atrr[i]) {
				                element[i][j] = atrr[i][j];   //获取style的属性进行赋值 
				            }
				        }
				        else {
				            element.setAttribute(a, attr[a]);
				        }
				    }
				}
}
	        return getmethods;  //返回对象
	    }

	    $$ = function (type, obj, position, before) {
	        var element;
	        var other = {         //定义对象
	            "frag": "createDocumentFragment",
	            "text": "createTextNode"
	        }
	        if (other[type]) {   //如果type存在执行方法
	            element = document.other[type]();
	        } else {
	            element = document.createElement(type);  //创建元素
	        }
	        if (obj) {		//判断obj存在
	            for (var i in obj) {       //遍历对象    
	                if (typeof obj[i] == "object") {    //如果是对象进行赋值
	                    for (var j in obj[i]) {
	                        var box = obj[i];
	                        element[i][j] = box[j];
	                    }
	                } else {
	                    element.setAttribute(i, obj[i]);   //添加属性
	                }
	            }
	        }
	        if (position) {
	            if (before) {
	                //insert element before beforeelment
	                position.inserBefore(element, before);
	            } else {
	                position.appendChild(element);
	            }
	        }
	        return element;
	    }


	    window.onload = function () {    //在页面或图像加载完成后执行
	        $("#b").remove();  //删除对象方法
	        $("#c").Child();
	        $("#d").addAttr({ "name": "lj", "uid": "123456" });
	        $("#e").add({ "style": { "width": "500px", "height": "100px"} });
	        document.getElementById("e").style.width = "100px";
	        document.getElementById("e").style.width = "10px";
	        var xxx = $$("div", { "id": "f", "style": { "width": "100px", "height": "100px", "background-color": "pink"} }, document.body);
	    }