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() ); } }