js代码IE10以下都不兼容
求助js代码IE10以下都不兼容
代码一:
代码一:
/*
* sort.js中用到的小工具
*
*
*/
var CustomFunctions = {
//获取子节点的集合(ie,ff通用)
getChildNodes:function(node){
var arr = [];
var nodes = node.childNodes;
for(var i in nodes){
if(nodes[i].nodeType == 1){ //查找元素节点
arr.push(nodes[i]);
}
}
return arr;
},
//获取第一个元素子节点(ie,ff通用)
getFirstElementChild : function(node){
return node.firstElementChild ? node.firstElementChild : node.firstChild ;
},
//获取最后一个元素子节点(ie,ff通用)
getLastElementChild : function(node){
return node.lastElementChild ? node.lastElementChild : node.lastChild ;
},
//获取上一个相邻节点(ie,ff通用)
getPreviousSibling : function(node){
//找到上一个节点就返回节点,没找到就返回null
do{
node = node.previousSibling;
}while(node && node.nodeType!=1)
return node;
},
//获取下一个相邻节点 (ie,ff通用)
getNextSibling : function(node){
//找到下一个节点就返回节点,没找到就返回null
do{
node = node.nextSibling;
}while(node && node.nodeType!=1)
return node;
},
};
/*清除字符串前后的空格*/
String.prototype.trim=function(){
return this.replace(/^\s*|\s*$/,"");
};
/*
查找元素:
$q("div"):bytagname
$q(".l"):byclassname
$q("#l"):byid
$q("$name"):byname
selector:选择符
parentElement:父元素
*/
window.$q = function(selector,parentElement){
if(selector && (typeof selector) === 'string'){
selector = selector.trim();//去掉前后空格
var parentEl = parentElement || document;
var nodeArr = new Array();
var firstChar = selector.substr(0,1); //取得第一个字符
//以#开头,表示根据ID查找
if(firstChar === '#'){
return parentEl.getElementById(selector.substr(1));
}
//以$开头,根据name查找
else if(firstChar === '$'){
var all = parentEl.getElementsByTagName("*");
for(var i=0;i<all.length;i++){
var name = all[i].getAttribute("name");
if(name === selector.substr(1)){
nodeArr.push(all[i]);
}
}