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);
}