Swing


          天行健 君子以自強(qiáng)不息

          posts - 69, comments - 215, trackbacks - 0, articles - 16
             :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          ajax學(xué)習(xí)點(diǎn)滴(不斷增加中)

          Posted on 2007-06-26 15:26 zht 閱讀(1018) 評論(0)  編輯  收藏 所屬分類: J2EE

                把學(xué)習(xí)ajax的一些知識記錄一下,以后不斷補(bǔ)充。

                用于處理XML文檔的DOM元素屬性

          屬性

          描述

          childNodes

          返回當(dāng)前元素所有子元素的數(shù)組

          firstChild

          返回當(dāng)前元素的第一個下級子元素

          lastChild

          返回當(dāng)前元素的最后一個子元素

          nextSibling

          返回緊跟在當(dāng)前元素后面的元素

          nodeValue

          指定表示元素值的讀/寫屬性

          parentNode

          返回元素的父節(jié)點(diǎn)

          previousSibling

          返回緊鄰當(dāng)前元素之前的元素

           

          用于遍歷XML文檔的DOM元素方法

          方法

          描述

          getElementById(id)

          獲取文檔中有指定唯一ID屬性值的元素

          getElementsByTageName(name)

          返回當(dāng)前元素中有指定標(biāo)記名的子元素的數(shù)組

          hasChildNodes()

          返回一個布爾值,指示元素是否有子元素

          getAttribute(name)

          返回元素的屬性值,屬性由name指定


           

          屬性/方法

          描述

          Document.createElement(tagName)

          文檔對象上的createElement方法可以創(chuàng)建由tagName指定的元素。如果以字符串串div作為方法參數(shù),就會生成一個div元素

          Document.createTextNode(text)

          文檔對象的createTextNode方法會創(chuàng)建一個包含靜態(tài)文本的節(jié)點(diǎn)。

          <element>.appendChild(childNode)

          appendChild方法將指定的節(jié)點(diǎn)增加到當(dāng)前元素的子節(jié)點(diǎn)列表(作為一個新的子節(jié)點(diǎn))。例如:可以增加一個option元素,作為select元素的子節(jié)點(diǎn)。

          <element>.getAttribute(name)

          <element>.setAttribute(name)

          這些方法分別獲得和設(shè)置元素中name屬性的值。

          <element>.insertBefore(newNode,targetNode)

          這個方法將節(jié)點(diǎn)newNode作為當(dāng)前元素的子節(jié)點(diǎn)插到targetNode元素前面。

          <element>.removeAttribute(name)

          這個方法從元素中刪除屬性name。

          <element>.replaceChild(newNode,oldNode)

          這個方法將節(jié)點(diǎn)oldNode替換位節(jié)點(diǎn)newNode。

          <element>.hasChildnodes()

          這個方法返回一個布爾值,指示元素是否有子元素。

          <element>.cloneNode(true)

          克隆當(dāng)前元素,并返回新元素


                1、在XML文檔中文本本身被認(rèn)為一個節(jié)點(diǎn),而且必須是另外一個節(jié)點(diǎn)的子元素,ex)<state>shandong</state> shandong 其實(shí)是state的子元素,必須先從state獲取文本元素,再從這個文本元素得到文本內(nèi)容,
          具體代碼如下:
          var xmlDoc=xmlHttp.responseXML;
          var allStates=xmlDoc.getElementsByTagName("state");//得到一個state的數(shù)組
          var currentState=null;
          for(var i=0;i<allStates.length;i++){
             currentState=allStates[i];//得到具體的一個state元素
             alert(currentState.childNodes[0].nodeValue);//文本元素是state的第一個子元素
             //通過childNodes屬性得到state元素的文本元素,
             //nodeValue返回文本元素的內(nèi)容
          }
                
                2、關(guān)于瀏覽器的不兼容性引起的問題的解決方法
                (1)、如果使用appendChild()將tr添加到一個table中,在ie中將不會出現(xiàn)此行
                      解決方法:將tr元素添加到表的<tbody>元素中
                (2)、IE中不能使用setAttribute正確的設(shè)置class屬性,
                      解決方法:同時使用setAttribute("class","newclassName");和
                      setAttribute  ("className","newclassName");
                (3)、IE中不能使用setAttribute設(shè)置style屬性
                      解決方法:<element>.style.cssText="font-size: 12px; "

                3、用post方法發(fā)送數(shù)據(jù)的時候,需要設(shè)置xmlHttp.setrequestheader("Content-Type","application/x-www-form-urlencoded");讓服務(wù)器知道請求體中有請求參數(shù)。

                4、在請求中加入"&timeStamp="+new Date().getTime()的作用:有些瀏覽器會把多個xmlHttp請求的結(jié)果緩存在同一個url,如果對每個請求的響應(yīng)不同會帶來不好的后果,加上時間戳以后就可以保證URL的唯一性,避免瀏覽器緩存結(jié)果。

                5、xmlHttp.setrequestheader("contentType","text/html;charset=uft-8");可以解決發(fā)送過程中的漢字亂碼問題。   

                6、動態(tài)刷新的實(shí)現(xiàn):核心就是setTimeout()方法通過setTimeout("startCallServer()",5000);方式隔5S后執(zhí)行startCallServe方法 注意setTimeout方法只執(zhí)行一次,所以在事件處理函數(shù)里要再次調(diào)用setTimeout方法這樣形成一個循環(huán)調(diào)用。
          主站蜘蛛池模板: 承德县| 玛曲县| 五河县| 万安县| 乳源| 湘潭县| 铅山县| 汽车| 微山县| 漯河市| 曲靖市| 沐川县| 隆林| 贞丰县| 大化| 台江县| 武鸣县| 长葛市| 永清县| 泽普县| 冷水江市| 响水县| 盐山县| 郁南县| 桦甸市| 马龙县| 吉安县| 平遥县| 营山县| 湘西| 宜阳县| 麦盖提县| 分宜县| 临猗县| 宜兴市| 宁波市| 湘潭县| 四川省| 泸西县| 蓝田县| 道孚县|