《Javascript Dom 编程艺术》第一版里的通用代码
在js中加载函数如果下面这样写
window.onload = test1;
window.onload = test2;
那只能加载test2函数,test1不执行,当然也可以下面这样写
window.onload = function(){
test1();
test2();
}
如果加载的函数少的话没关系,如果特别多的很麻烦,可以用下面的共同加载函数
function addLoadEvent(func) { var oldonload = window.onload; if (typeof window.onload != 'function') { window.onload = func; } else { window.onload = function() { oldonload(); func(); } } }
fucntion highlightPage(){}
fucntion highlightPage1(){}
addLoadEvent(highlightPage);
addLoadEvent(highlightPage1);
js中插入节点有appendChild和insertBefore函数,但没有insertAfter函数,下面就是一个共同的insertAfter函数
function insertAfter(newElement,targetElement) { var parent = targetElement.parentNode; if (parent.lastChild == targetElement) { parent.appendChild(newElement); } else { parent.insertBefore(newElement,targetElement.nextSibling); } }
js中添加class是替换而不是新增,例如一个元素节点的class是old,写了this.className = "new"; ,它的class变成了new,而不是“old new”。下面的函数就是新增class的功能
function addClass(element,value) { if (!element.className) { element.className = value; } else { newClassName = element.className; newClassName+= " "; newClassName+= value; element.className = newClassName; } }