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