JavaScript 是一门强大的语言,基础的函数比较丰富,但仍不能满足我们的需求。
下面列出一些常用的扩展函数
持续更新中。。。 有更好的扩展函数 的小伙伴欢迎分享
function addLoadEvent(func)
http://blog.csdn.net/u010003835/article/details/51346045
function insertAfter(newElement, targetElement)
http://blog.csdn.net/u010003835/article/details/51346209
function getNextElement(node)
http://blog.csdn.net/u010003835/article/details/51346264
4.给一个DOM结点 增加一个class类 的方法
function addClass(element, value)
http://blog.csdn.net/u010003835/article/details/51347941
function inputSupportsType(type)
http://blog.csdn.net/u010003835/article/details/51356192
function elementSupportAttribute(elementName,attribute)
http://blog.csdn.net/u010003835/article/details/51356250
源代码
/**
* Edit by szh on 2016/5/9.
*/
//扩展window.onload 使其能加载多个JavaScript函数
//功能:在window.onload 添加 新函数func
function addLoadEvent(func){
if(typeof func != 'function') return false;
var oldonload = window.onload;
if(typeof window.onload != 'function'){
window.onload = func;
}else{
window.onload = function(){
oldonload();
func();
}
}
}
//功能: 在targetElement之后插入 新节点newElement
function insertAfter(newElement, targetElement){
var parent = targetElement.parentNode;
if(parent.lastChild == targetElement){
parent.appendChild(newElement);
}else{
parent.insertBefore(newElement,targetElement.nextSibling);
}
}
//功能: 查找node节点的下一个元素节点 node为当前节点
// ** node.nexSibling 得到节点的下一个节点, 不一定是元素节点
function getNextElement(node){
if(!node.nextSibling) return null;
var nextNode = node.nextSibling;
if(nextNode.nodeType == 1){
return nextNode;
}
return getNextElement(node.nextSibling);
}
//功能:给节点加一个CSS类 value,value为字符串格式
//示例 addClass(document.getElementById('test'),'mouseoverHighLight');
function addClass(element, value){
if(!element.className){
element.className = value;
}else{
newClassName = element.className;
newClassName += " ";
newClassName += value;
element.className = newClassName;
}
}
//功能: 对HTML5的 input type 属性进行检查,看是否支持该属性
//示例
//console.log("input type是否支持url类型"+inputSupportsType('url'));
//console.log("input type是否支持kk类型"+inputSupportsType('kk'));
function inputSupportsType(type){
if(!document.createElement) return false;
var input = document.createElement('input');
input.setAttribute('type',type);
if(input.type=='text' && type!='text'){
return false;
}
else{
return true;
}
}
//功能: 看elementName所对应的元素里 是否支持attribute属性
//示例
//console.log("input是否支持placeholder属性"+elementSupportAttribute('input','placeholder'));
//console.log("input是否支持placeholde属性"+elementSupportAttribute('input','placeholde'));
function elementSupportAttribute(elementName,attribute){
if(!document.createElement) return false;
var elem = document.createElement(elementName);
return (attribute in elem);
}