1、页面加载完毕执行函数---addLoadEvent()
一般来说,如果操作DOM,需要在页面加载完毕后执行。网页加载完毕后会触发一个onload事件,这个事件与window对象相关联。
Simon Willison写了一个函数:addLoadEvent。不管你打算在页面加载完毕后想要执行多少函数,它都可以应付自如,他只有一个参数---在页面加载完毕时执行的函数的名字。
function addLoadEvent(func){
var oldonload = window.onload;
if(typeof window.onload != "function"{
window.onload = func;
}else{
window.onload = function(){
oldonload();
func();
}
}
}
这将把那些在页面加载完毕时执行的函数创建一个队列。
2、DOM操作函数---insertAfter()
在传统的DOM操作方法中,比较熟知的是appendchild()、insertBefore()、removeChild()和replaceChild()几个,但是DOM缺少一个insertAfter(),利用已有的DOM属性和方法实现如下:
function insertAfter(newElement targetElement){
var parentElement = targetElement.parentElement;
if(parentElement.lastChild == targetElement){
parentElement.appendChild(newElement);
}else{
parentElement.insertAfter(newElement,targetElement.nextSibling)
}
}
3、ajax方法---getHTTPObject()
function getHTTPObject(){
if(typeof XMLhttpRequest == "undefined"){
XMLhttpRequest = function(){
try {
return new ActiveObject("Msxml2.XMLHTTP.6.0";)
}catch(e){}
try {
return new ActiveObject("Msxml2.XMLHTTP.3.0";)
}catch(e){}
try {
return new ActiveObject("Msxml2.XMLHTTP";)
}catch(e){}
return false;
}
}
return new XMLHttpRequest()
}
4、更新className属性addClass()
function addClass(element,value){
if(!element.className){
element.className = value;
}else{
newClassName = element.className;
newClassName += " ";
newClassName += value;
element.className = newClassName;
}
}
5、确定文档的归属窗口
var currentDocument=document.defaultView || document.parent;
IE不支持DOM2中新增的属性document.defaultView。
6、在浏览器中访问内嵌框架
var iframe=document.getEmentById("myiframe");
var iframeDoc=iframe.contentDocument||iframe.contentWindow.document;
所有浏览器都支持contentWindow属性,但IE8以及之前版本不支持DOM2中新增的contentDocument属性。