摘要:一類型在中,所有的節點類型都繼承自類型。包含文檔中所有帶特性的元素包含文檔中所有的元素包含文檔中所有的元素包含文檔中所有帶特性的元素一致性檢測因為分為多個級別,也包含多個部分,因此檢測瀏覽器實現了的哪些部分就十分必要。
DOM是針對HTML和XML文檔的一個API
DOM描繪了一個層次化的節點樹,允許開發人員輕松自如地添加、刪除、替換、修改頁面的某一部分
DOM將HTML文檔描繪成一個層次化的節點樹,HTML文檔中的任何內容都可以通過樹中的一個節點來表示:
HTML元素表示成元素節點
HTML屬性表示成屬性節點
注釋表示成注釋節點
......
DOM中共有12種節點類型。
(一) Node類型在javascript中,所有的節點類型都繼承自Node類型。Node類型定義了節點類型的一些基本屬性和方法,這些屬性和方法被所有的節點共享。
1、基本屬性(1)nodeType:表明節點的類型
元素節點.nodeType = 1
文本節點.nodeType = 3
(2)nodeName:節點的名稱
元素節點.nodeName = 元素的標簽名(大寫)
(3)nodeValue:節點的值
元素節點.nodeValue = null
2、節點關系文檔中所有的節點之間存在著各種關系,節點間的關系可以用傳統的家族關系來描述。
(1)childNodes屬性
作用:返回節點的所有子節點,這些子節點組成NodeList對象(NodeList對象并不是Array實例)
語法:someNode.childNode
訪問保存在NodeList對象中的子節點
someNode.childNodes[0];
someNode.childNodes.item(0)
(2)parentNode屬性
作用:指向文檔樹中的父節點
包含在childNodes列表中的所有節點都有相同的父節點
(3)firstChild、lastChild屬性
分別指向childNodes列表中的第一個和最后一個節點
(4)previousSibling、nextSibling屬性
(5)ownerDocument屬性
該屬性指向整個文檔的文檔節點
(6)hasChildNodes()方法
當節點包含一個或多個子節點時返回true
3、操作節點DOM提供了一些操作節點的方法:
(1)添加節點
appendChild():向NodeList列表的末尾添加一個節點,并返回新增的節點
insertBefore(newNode,參照節點):向參照節點的前面插入newNode,并返回新節點
(2)替換節點
replaceChild(新節點,要替換的節點):要替換的節點被新節點替換,并被方法返回
(3)刪除節點
removeChild(要刪除的節點):刪除要刪除的節點,并返回要刪除的節點
注意:上述四個方法操作的是某個節點的子節點,即這四個方法均需要先取得父節點(parentNode)
4、其他方法(1)cloneNode(true/false)
作用:復制調用該方法的節點
參數為true時:執行深復制,即復制節點及其整個子節點樹
參數為false時:執行淺復制,即只復制該節點本身
復制后的節點及其子節點屬于文檔,但是它沒用父節點
(2)normalize()
作用:處理文檔樹中的文本節點,該方法會刪除空文本節點/或者將相鄰的文本節點合并為一個文本節點
(二) Document類型Document類型可以表示HTML頁面或者其他基于XML的文檔,其中最常見的是作為HTMLDocument 實例的document對象,該對象表示整個HTML頁面。Document節點具有下列特征:
nodeType = 9
nodeName = "#document"
nodeValue = null
parentNode = null
ownerDocument = null
1.文檔的子節點DOM規定Document節點的子節點可以是以下幾種:
(1)DocumentType
通常標簽看成一個與文檔其他部分不同的實體,可以通過doctype屬性訪問該標簽
語法:var doctype = document.doctype
因為不同的瀏覽器對該屬性的支持差別很大,所以該屬性的用處不大
(2)Element
有兩個內置屬性可以快速地訪問Document節點的子節點:
documentElement:訪問文檔的元素 //var html = document.documentElement
body:訪問
元素 //var body = document.body(3)Comment
按照定義,出現在元素外部的注釋應該算是文檔的子節點,然而不同的瀏覽器對這些外部注釋的解析不同,故通常不在元素外部使用注釋。
(4)ProcessingInstruction
2、文檔信息document對象作為HTMLDocument的一個實例,還有幾個標準Document對象沒有的屬性:
title:獲取
URL:返回地址欄中的URL
domain:頁面的域名
referrer:返回鏈接到當前頁面的URL
3、查找元素(1)getElementById()
(2)getElementsByTagName()
該方法返回一個HTMLCollection對象,作為一個“動態”集合,該對象與NodeList很相似
訪問HTMLCollection對象中元素的方法:
(假設, var images=document.getElementsByTagName("img");)
images[0]
images.item(0)
images.namedItem("myImage")=images["myImage"] //獲取的圖片
(3)getElementsByName()
4、特殊集合為了方便訪問文檔的常用部分,document對象還提供了一些特殊的集合,這些集合都是HTMLCollection對象。
document.anchors:包含文檔中所有帶name特性的元素
document.forms:包含文檔中所有的
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/85093.html
摘要:由于計算機的國際化,組織的標準牽涉到很多其他國家,因此組織決定改名表明其國際性。規范由萬維網聯盟制定。級標準級標準是不存在的,級一般指的是最初支持的。 這篇筆記的內容對應的是《JavaScript高級程序設計(第三版)》中的第一章。 1.ECMA 和 ECMA-262 ECMA 是歐洲計算機制造商協會的縮寫,全程是 European Computer Manufacturers Ass...
摘要:實現一個完整的實現應該由下列三個不同的部分組成核心文檔對象模型瀏覽器對象模型文檔對象模型是針對但經過擴展用于的應用程序編程接口。級別級由兩個模塊組成核心和。其中,核心規定是如何映射基于的文檔結構,以便簡化對文檔中任意部分的訪問和操作。 javascript從一個簡單的輸入驗證器發展成為一門強大的編程語言,完全出乎人們的意料。 javascript實現一個完整的javascript實現應...
摘要:在上百種語言中算是命好的一個,還有就是最近納入高考體系的。由以下三個部分構成。就是對實現該標準規定的各個方面內容的語言的描述。是針對但經過擴展的用于的應用程序編程接口。將頁面映射為由節點構成的樹狀結構。 JavaScript的歷史這里就不再贅述了,當然JavaScript的歷史還是比較有意思的。在上百種語言中JavaScript算是‘命’好的一個,還有就是最近納入高考體系的python...
摘要:可以使用偵聽器或處理程序來預訂事件,以便事件發生時執行相應的代碼。響應某個事件的函數稱為事件處理程序或事件偵聽器。可以刪除通過級方法指定的事件處理程序。 JavaScript和HTML之間的交互是通過事件實現的。 事件:文檔或瀏覽器窗口中發生的一些特定的交互瞬間。 可以使用偵聽器(或處理程序來預訂事件),以便事件發生時執行相應的代碼。 1. 事件流 事件流:從頁面中接收事件的順序。 ...
摘要:取得所有類中包含和的元素。類名的先后順序無所謂取得為的元素中帶有類名的所有元素焦點管理也添加了輔助管理焦點的功能。首先就是屬性,這個屬性始終會引用中當前獲得了焦點的元素。另外就是新增了方法,這個方法用于確定文檔是否獲得了焦點。 選擇符API querySelector()方法 // 取得body元素 var tbody = document.querySelector(body); ...
閱讀 2652·2021-09-09 09:33
閱讀 2810·2019-08-30 15:54
閱讀 2867·2019-08-30 14:21
閱讀 2356·2019-08-29 17:15
閱讀 3580·2019-08-29 16:13
閱讀 2759·2019-08-29 14:21
閱讀 3422·2019-08-26 13:25
閱讀 2028·2019-08-26 12:14