一、获取非行内样式
function getStyle(obj,attr){
return obj.currentStyle ? obj.currentStyle[attr] : getComputedStyle(obj,true)[attr];
}
二、获取className的兼容
function getElementsByClass(className){
if(document.getElementsByClassName){
return document.getElementsByClassName(className);
}else{
var arr = [];
var obj = document.getElementsByTagName("*");//兼容IE低版本
for(var i = 0; i < obj.length; i++){
if(obj[i].className == className){
arr.push(obj[i]);
}
}
return arr;
}
}
三、监听事件的添加和移除兼容
//兼容(添加)
function addEventListen(obj,event,fun,boo){
if(obj.addEventListener){ // 标准
obj.addEventListener(event,fun,boo);
}else{ //IE
obj.attachEvent("on"+event,fun);
}
}
//兼容(移除)
function removeEventListen(obj,event,fun,boo){
if(obj.removeEventListener){ //标准
obj.removeEventListener(event,fun,boo);
}else{ //IE
obj.detachEvent("on" + event,fun);
}
}
四、删除空白节点
1.//删除子节点中的空白文本节点(参数是父亲节点)
function deleteSpace(node){
//将子节点从父级中提出来
var childs = node.childNodes;
//便利所有的子节点
for(var i = 0;i < childs.length;i ++){
//判断找出所有的文本节点且是空白的文本节点
if(childs[i].nodeType === 3 && /^\s+$/.test(childs[i].nodeValue)){
childs[i].parentNode.removeChild(childs[i]);
}
}
return node;
}
2.//删除子节点中的空白文本节点(参数是所有子节点)
function removeSpace(node){
//遍历所有子节点
for(var i = 0;i < node.length;i ++){
//判断找出所有的文本节点且是空白的文本节点
if(node[i].nodeType === 3 && /^\s+$/.test(node[i].nodeValue)){
node[i].parentNode.removeChild(node[i]);
}
}
return node;
}