天天看點

DHTML DOM常用JS函數整理

1.測試是否是IE

var isIE = document.all && window.external; (據說是比較安全的做法)

2.event 對像 (這個比較簡單,隻列出常用的屬性)。

 event 對像儲存的是上一次事件發生的狀态,常用的屬性有

   clientX、clientY   事件發生時滑鼠指針的坐标。(傳回值為數值)

   button 哪個滑鼠按鍵被點選(IE:1|4|2   左|中|右,非IE:0|1|2  左|中|右) 

   altKey、ctrlKey、shiftKey       哪個鍵被按下了

   srcElement、target  觸發事件的節點(元素),前者為IE,後者為非IE。

   toElement、fromElement 移入滑鼠的元素、移出滑鼠的元素(mouseover 和 mouseout 事件,隻IE适用)

   relatedTarget   對于 mouseover 事件來說,該屬性是滑鼠指針移到目标節點 上時所離開的那個節點。對于 mouseout 事件來說,該屬性是離開目标時,滑鼠指針進入的節點。(非IE适用)

   x,y       事件發生的位置的 x 坐标和 y 坐标,它們相對于用CSS動态定位的最内層包容元素

   type      事件類型(mousemove,mouseover等)

3.擷取節點

  oElement = document . getElementById ( sID )

  oElements = document . getElementsByName ( sName )

  arrElements = object . getElementsByTagName ( sTagName )

  oElements = object . tags ( sTagName ) sTagname 為标記名,如 "table"、"div"

  oElement = document . elementFromPoint ( iX , iY )    iX 、iY 提供的坐标是客戶區坐标,客戶區的左上角為 (0,0)。

  IE下還可以用 document.all.id 或 document.all("id")方法擷取節點

   

4.節點(element)操作

  4.1 建立節點 oElement=document.createElement(節點類型)

  4.2 添加節點(把節點加入到DOM鍊)

     1. oElement = 父節點.appendChild (新建立的節點)

     2. 父節點.applyElement(新建立的節點,sWhere)     其中sWhere取值為 outside|inside  outside:預設值。将 oElement 添加為 object 的父對象。inside:将 oElement 添加為 object 的子對象。但 oElement 将成為 object 的原所有子對象的父對象。

     3. oElement = object . insertAdjacentElement ( sWhere , oElement )   

      插入鄰近節點,sWhere 取值beforeBegin:将 oElement 插到 object 的開始标簽之前。afterBegin:将oElement 插到 object 的開始标簽之後。但是在 object 的所有原有内容之前。 beforeEnd   : 将oElement 插到 object 的結束标簽之前。但是在 object 的所有原有内容之後。 afterEnd:将oElement 插到 object 的結束标簽之後。

     4. oElement = object . insertBefore ( oNewNode , oChildNode )   

插入到某個子節點(oChildNod)前面,oChildNode可為空,此時插入到最後一個子節點後面黃

  4.3 删除節點 

     1. 節點數組.remove(節點索引)   從節點數組中删除對應節點索引的對象。

     2. object.removeNode(bRemoveChildren)  删除object節點,bRemoveChildren是否删除子節點

     3. object.removeChild(子節點) 删除子節點

  4.4 替換節點

     1. oElement = object . replaceNode ( oNewNode )

     2. oElement = object . replaceChild ( oNewNode , oChild )

  4.5 交換節點

     object . swapNode ( oNode )   object 與 oNode 交換

  4.6 複制節點

     oElement = object . cloneNode ( bCloneChildren )   bCloneChildren 是否包括子節點

  4.7 是否包含節點 

     bFound = object . contains ( oElement )   傳回是否object包含oElement

  4.8 是否有子節點

     bChildNodes = object . hasChildNodes()

  4.9 Select下的Options操作

     添加  oSelect.options.add (option,iIndex)

5.節點屬性操作

  object . setAttribute ( sName , vValue , iFlags )  sName,屬性名;iFlags,0|1,是否區分大小寫

  vAttrValue = object . getAttribute ( sAttrName , iFlags )   iFlags,0|1,是否區分大小寫

  bSuccess = object . removeAttribute ( sName,iCaseSensitive )   iCaseSensitive,0|1,是否區分大小寫

  object . clearAttributes ()   清除所有持久性屬性

  object . mergeAttributes ( oSource , bPreserve )   從oSource複制所有可讀寫屬性到object,若bPreserve為true不複制id,name

6.視窗操作

  popup . show ( iX , iY , iWidth , iHeight , oElement )

  oPopup = window . createPopup ( vArgs )

  popup . hide ()

  bConfirmed = window . confirm ( sMessage )

  oNewWindow = window . open ( sURL , sName , sFeatures , bReplace )

  vReturnValue = window . showModalDialog ( sURL , vArguments , sFeatures )

  vReturnValue = window . showModelessDialog ( sURL , vArguments , sFeatures )

  window . resizeBy ( iX , iY )

  window . resizeTo ( iWidth , iHeight )  

7.其它常用

  location . assign ( sURL ) 加載一個新的HTML文檔到目前視窗。(同location="sURL")

  object . blur () 失去焦點

  object . focus () 焦點

  object . click () 模拟點選

  window . close () 關閉視窗

  bSuccess = object . execCommand ( sCommand , bUserInterface , vValue ) 執行指令,常用的指令有copy、paste、Delete、Cut、Unselect、SelectAll、SaveAs、print

繼續閱讀