window.onload = function () ... { //???? var hello = document.getElementById('hello'); hello.className="declared"; var empty = document.getElementById('empty'); addNode(empty,"reader of","br"); addNode(empty,"Ajax in Action","br"); var children = empty.childNodes; for(var i=0;i<children.length;i++)...{ children[i].className="programe"; } empty.style.border='solid green 2px'; empty.style.width='200px';} function addNode(ele,text,br) ... { if(text==null)...{ ele.appendChild(document.createElement("br")); }else...{ var childEl =document.createElement("div");//????? ele.appendChild(childEl); var txtNode = document.createTextNode(text);//????? childEl.appendChild(txtNode); if(br!=null) ele.appendChild(document.createElement(br)); } } // var i = 0 ; function addListItemUsingInnerHTML(ele,text) ... { var obj = document.getElementById(ele); obj.innerHTML+="<div class='programe'>"+text+"</div><br>"; } // function showEmpty(ele) ... { var obj = document.getElementById(ele); if(obj!=null)...{ if(obj.style.display==''||obj.style.display=='inline')...{ obj.style.display='none'; } else...{ addNode(obj,"txt"+(i++),"br"); obj.style.display='inline'; } } } Ajax封装状态,基础 /**/ /* version:0.0.1 Date:2007.2.11 In China Mail:yanweiboy@hotmail.com */ var net = new Object(); // ???? net.READY_STATE_UNINITIALIZED = 0 ;net.READY_STATE_LOADING = 1 ;net.READY_STATE_LOADED = 2 ;net.READY_STATE_INTERACTIVE = 3 ;net.READY_STATE_COMPLETE = 4 ;net.ContentLoader = function (url,onload,onerror) ... {//???? this.url=url; this.req=null; this.onload=onload; this.onerror=(onerror) ? onerror: this.defaultError; this.loadXMLDoc(url);} net.ContentLoader.prototype = ... { loadXMLDoc:function(url)...{ if(window.XMLHttpRequest)...{ this.req=new XMLHttpRequest(); }else if(window.ActiveXObject)...{ this.req=new ActiveXObject("Microsoft.XMLHTTP"); } if(this.req)...{ try...{ var loader=this; this.req.onreadystatechange=function()...{ loader.onReadyState.call(loader); } this.req.open('GET',url,true); this.req.send(null); }catch(err)...{ this.onerror.call(this); } } }, onReadyState:function()...{ var req = this.req; var ready = req.readyState; if(ready==net.READY_STATE_COMPLETE)...{ var httpStatus=req.status; if(httpStatus==200||httpStatus==0)...{ this.onload.call(this); }else...{ this.onerror.call(this); } } }, defaultError:function()...{ alert("error fetching data!" +" readyState: "+this.req.readyState +" stats: "+this.req.status +" headers: "+this.req.getAllResponseHeaders() ); } }