日期:2014-05-16  浏览次数:20257 次

3段比较有用的JS代码

摘抄分享三个比较有用的JS代码,希望对大家有用:

1. 根据class获取元素集合

?

function getElementsByClassName(fatherId,tagName,className){
	node = fatherId&&document.getElementById(fatherId) || document;
	tagName = tagName || "*";
	className = className.split(" ");
	var classNameLength = className.length;
	for(var i=0,j=classNameLength;i<j;i++){
		//创建匹配类名的正则
		className[i]= new RegExp("(^|\\s)" + className[i].replace(/\-/g, "\\-") + "(\\s|$)"); 
	}
	var elements = node.getElementsByTagName(tagName);
	var result = [];
	for(var i=0,j=elements.length,k=0;i<j;i++){//缓存length属性
		var element = elements[i];
		while(className[k++].test(element.className)){//优化循环
			if(k === classNameLength){
				result[result.length] = element;
				break;
			}
		}
		k = 0;
	}
	return result;
}
?

?

2. 文档加载完成后启动事件

?

function addLoadEvent(func){
	var oldOnLoad = window.onload;
	if(typeof window.onload!= 'function'){
		window.onload=func;
	}else{
		window.onload = function (){
			oldOnLoad();
			func();
		}
	}
}

?那么我们可以这样使用

function smile(){
  window.alert("smile");
}
 addLoadEvent(smile);
?

?

3. 加载外部JS文件

function loadScript(url){
     var elem = document.createElement("script");
     elem.setAttribute("src",url);
     elem.setAttribute("type","text/javascript");
     document.getElementsByTagName("body")[0].appendChild(elem);
}
?

?

圣优销售培训