1. 程式人生 > >Javascript的DOM物件

Javascript的DOM物件

DOM:將HTML文件轉換成一個DOM樹,所有HTML標籤都轉換成物件,用js程式碼形式操縱HTML標籤文件。            document物件:整個文件物件            element物件:標籤物件            屬性物件            文字物件 DHTML:是指HTML、CSS、javascript、dom技術集合 補充:所有DOM樹除了頂層結點(document)外其它結點都繼承於Node結點,都有以下方法和屬性 (一)方法:

getElementsByTagName():獲取當前節點的指定標籤名孩子節點 appendChild(oNode) :給標籤物件新增子節點。oNode是要新增的子節點。 removeChild(oNode):刪除子節點。oNode是要刪除的孩子節點 cloneNode( [bCloneChildren]) :克隆一個物件,bCloneChildren:表示是否需要克隆孩子節點 getAttribute(sAttributeName):獲取屬性值,sAttributeName是要獲取的屬性名

(二)屬性:

childNodes:獲取當前節點的所有子節點,返回一個數組。(相容性差,建議使用getElementsByTagName()) firstChild:獲取當前節點的第一個子節點 lastChild:獲取當前節點的最後一個子節點 parentNode:獲取當前節點的父節點 nextSibling:獲取當前節點的下一個節點 previousSibling:獲取當前節點的上一個節點 className:用於獲取或設定標籤的class屬性值 innerHTML :表示獲取/設定起始標籤和結束標籤中的內容

1、document物件(注意:以下方法作用域都是文件物件,即HTML標籤下的第一層標籤) 方法: write():在頁面顯示變數,物件,或HTML標籤     補充屬性: document.body.innerText:在document.write()失效時(需要不停呼叫write()時)使用,如實時顯示時間案例。

getElementById("id值"):通過標籤裡的id屬性值獲得一個標籤物件(記住所有物件定義都用var) getElementsByName("Name值"):通過標籤裡的name屬性值獲得標籤物件陣列 getElementsByTagName("標籤名"):通過標籤名獲得標籤物件陣列 createElement(tagName):建立標籤(元素)節點。tagName為標籤名 createTextNode(text):建立文字節點。

注意: HTML標籤有的有name屬性,比如input、select、button等,而很多是沒有的,比如td、div等, 只有有name屬性的標籤才可以使用getElementsByName方法。 2、Element物件:標籤物件(注意:以下方法作用域都是標籤物件,即標籤物件下的第一層標籤) 方法:

獲取屬性:getAttribute(name);方法 設定屬性:setAttribute(name,value)方法。 刪除屬性:removeAttribute(name);方法。 在Element物件作用範圍內查詢其它結點(Element物件)唯一有效的 方法就是:getElementsByTagName(),該方法返回一個數組

案例:彈窗案例 補充window重要屬性: opener 返回對建立此視窗的視窗的引用物件。 (用於頁面間的切換) 案例:在DOM樹上新增DOM樹結點,即新增標籤 案例:下拉列表左右選擇 案例:五國省市聯動 案例:動態生成表格 總結:在html標籤(即document物件)上加內容: 1、設定一個<div>標籤,內容為空 2、利用<div>innerHTML屬性往<div>標籤加程式碼 在普通標籤(即Element物件)上加內容: 1、利用document的倆個方法寫好標籤物件和文字物件(注意:文字物件放在標籤物件下) createElement(tagName):建立標籤(元素)節點。tagName為標籤名 createTextNode(text):建立文字節點。 2、獲取到要新增到的普通標籤物件(Element物件) 3、利用物件的appendChild()方法將建立好的標籤物件新增至該物件的分支下 appendChild(oNode) :給標籤物件新增子節點。oNode是要新增的子節點。 同理可以刪除HTML裡的某些標籤,獲取到要刪除的物件的上一級物件,通過removeChild(oNode)方法刪除。 獲取物件倆種情況: HTML標籤物件document下一般使用:getElementById(),getElementsByName(),getElementsByTagName()三種方法。 普通標籤物件Element下使用:getElementByTagName()。 十二、js裡表單標籤的提交方式: 1、通過按鈕輸入項提交 -(1)獲得表單物件form -(2)也可以設定表單物件form的屬性action,method等,必須在提交前設定(即呼叫submit()前設定) -(3)呼叫表單物件的方法form.submit() 2、超連結提交   <a href="提交頁面地址?name屬性值=value屬性值"></a> 十三常用事件介紹:

onclick():滑鼠點選事件 onchange():內容改變事件(一般在select裡使用) onfocus():得到焦點事件 onblur():失去焦點事件

案例:文字框未輸入效果焦點