對html對象,首先要先提到Node節點,Node是一個接口,許多DOM類型從這個接口繼承,並允許類似地處理(或測試)這些各種類型。有那些介面重Node繼承其方法和屬性?先看看本文章吧。 apache php mysql
為何寫這篇文章?
你可能做Web開發已經有一段時間,你有沒有想過下列問題呢?
為什麼p元素甚至是所有的html元素都可以使用addEventListener來新增事件?
為什麼每個DOM節點都有parentNode、firstChild、nodeType等屬性呢?
為什麼每個DOM元素都有className、classList、innerHTML等屬性呢?
為什麼有些DOM元素有accessKey、contentEditable、isContentEditable等屬性呢?
為什麼每個DOM元素都有onclick、ondblclick、ondrag等屬性?
本文就是來解答這些簡單又不「簡單」的問題。
EventTarget
定義
EventTarget 是一個由可以接收事件的物件實現的接口,並且可以為它們建立偵聽器。
作用
Element,document 和 window 是最常見的事件目標,但其他物件也可以是事件目標,例如XMLHttpRequest,AudioNode,AudioContext 等等。
許多事件目標(包括元素,文件和 window)也支援透過 onXXX(如onclick) 屬性和屬性設定事件處理程序。
該介面的方法
EventTarget.addEventListener()
在EventTarget上註冊特定事件類型的事件處理程序。
EventTarget.removeEventListener()
EventTarget中刪除事件偵聽器。
EventTarget.dispatchEvent()
將事件分派到此EventTarget。
我們自己實作EventTarget
var EventTarget = function() { this.listeners = {}; }; EventTarget.prototype.listeners = null; EventTarget.prototype.addEventListener = function(type, callback) { if (!(type in this.listeners)) { this.listeners[type] = []; } this.listeners[type].push(callback); }; EventTarget.prototype.removeEventListener = function(type, callback) { if (!(type in this.listeners)) { return; } var stack = this.listeners[type]; for (var i = 0, l = stack.length; i < l; i++) { if (stack[i] === callback){ stack.splice(i, 1); return; } } }; EventTarget.prototype.dispatchEvent = function(event) { if (!(event.type in this.listeners)) { return true; } var stack = this.listeners[event.type].slice(); for (var i = 0, l = stack.length; i < l; i++) { stack[i].call(this, event); } return !event.defaultPrevented; };
Node
定義
#Node是一個接口,許多DOM類型從這個介面繼承,並允許類似地處理(或測試)這些各種類型。 Node是一個接口,許多DOM類型從這個接口繼承,並允許類似地處理(或測試)這些各種類型。
有那些介面重Node繼承其方法和屬性?
Document, Element, CharacterData (which Text, Comment, and CDATASection inherit), ProcessingInstruction, DocumentFragment, DocumentType, Notation, Entity, EntityReference
PS:在方法和屬性不相關的特定情況下,這些介面可能傳回null。它們可能會拋出異常 - 例如,當子節點添加到不允許子節點存在的節點時。
介面相關的屬性和方法
屬性
Node.baseURI
傳回一個表示base URL的DOMString。不同語言中的base URL的概念都不一樣。在HTML中,base URL表示協定和域名,以及一直到最後一個'/'之前的文件目錄。
Node.childNodes
傳回一個包含了該節點所有子節點的即時的NodeList。 NodeList 是「即時」的意思是,如果該節點的子節點發生了變化,NodeList物件就會自動更新。
Node.firstChild
傳回該節點的第一個子節點,如果該節點沒有子節點則傳回null。
Node.lastChild
傳回該節點的最後一個子節點,如果該節點沒有子節點則傳回null。
此處省略若干Node介面屬性,更多屬性查看這裡。
方法
那麼重點來了!
重點:從其父類別EventTarget繼承了addEventListener、removeEventListener、dispatchEvent等方法。
Node.appendChild()
將一個節點加入到指定父節點的子節點清單結尾。
Node.contains()
傳回的是一個布林值,來表示傳入的節點是否為該節點的後代節點。
Node.cloneNode()
傳回呼叫該方法的節點的副本。
此處省略若干Node介面方法,更多方法查看這裡。
Element
說明
Element是非常通用的基類,所有 Document物件下的物件都繼承它。這個介面描述了所有相同種類的元素所普遍具有的方法和屬性。這些繼承自Element並且增加了一些額外功能的介面描述了特定的行為。
PS:HTMLElement 接口是所有HTML元素的基礎接口, 而 SVGElement 接口是所有SVG元素的基本接口。
在web以外的語言,像 XUL 可以透過 XULElement 的API,也能實現它。
屬性
所有屬性繼承至它的祖先介面Node, 和它所擴展的介面EventTarget, 並且從以下部分繼承了屬性ParentNode, ChildNode, NonDocumentTypeChildNode, 和Animatable.
Element.assignedSlot
傳回元素對應的HTMLSlotElement 介面
#Element.attributes
傳回一個與該元素相關的所有屬性集合NamedNodeMap
Element.classList
傳回該元素所包含的class屬性是一個DOMTokenList.
Element.className
它是一個DOMString 表示這個元素的class.
此處省略若干Element介面屬性,更多方法查看這裡。
方法
那麼重點來了!
從它的父類別(Node)和它父類別的父類別(EventTarget)繼承方法,並實作parentNode、ChildNode、NonDocumentTypeChildNode、Animatable。
此處省略若干Element介面方法,更多方法查看這裡。
Element.closest()
方法用來取得符合特定選擇器且離目前元素最近的祖先元素(也可以是目前元素本身)。如果匹配不到,則傳回 null。
Element.getAttribute()
傳回元素上一個指定的屬性值。如果指定的屬性不存在,則傳回 null 或 "" (空字串)。
Element.getElementsByClassName()
參數中給出類別的列表,傳回一個動態的 HTMLCollection ,這裡麵包含了所有持有這些類別的後代元素。
此處省略若干Element介面方法,更多方法查看這裡。
HTMLElement
作用
HTMLElement 介面表示所有的 HTML 元素。有些HTML元素直接實作了HTMLElement接口,其它的間接實作HTMLElement介面。
屬性
那麼重點來了!
繼承自父介面Element和 GlobalEventHandlers的屬性。
HTMLElement.accessKey DOMString 獲取/設定元素存取的快速鍵
HTMLElement.accessKeyLabel DOMString 傳回一個包含元素存取的快速鍵的字串(唯讀)
HTMLElement.contentEtabletable 可獲取元素存取的快速鍵的字串編輯狀態
HTMLElement.isContentEditable Boolean 顯示元素的內容是否可編輯(唯讀)
此處省略若干HTMLElement介面屬性,更多方法查看這裡。
Event handlers
HTMLElement.onTouchStart
HTMLElement.onTouchEnd
HTMLElement.onTouchMove
HTMLElement.onTouchEnter
HTMLElement.onTouchLeave
HTMLElement.onTouchcelcelcel
HTMLElement.click() void 觸發元素的點擊事件
HTMLElement.focus() 觸發元素的點擊事件
HTMLElement.focus() void #ML 元素獲得焦點。 forceSpellCheck() void
此處省略若干GlobalEventHandlers介面屬性,更多方法查看這裡。
如:
HTMLpElement 介面提供了一些特殊屬性(它也繼承了通常的 HTMLElement 介面)來操作p元素。
HTMLFormElement介面可以建立或修改
以上是一個完整的HTML物件是什麼樣的,如何產生?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

htmlattributesarecrucialinwebdevelopment forcontrollingBehavior,外觀和功能

alt屬性是HTML中標籤的重要部分,用於提供圖片的替代文本。 1.當圖片無法加載時,alt屬性中的文本會顯示,提升用戶體驗。 2.屏幕閱讀器使用alt屬性幫助視障用戶理解圖片內容。 3.搜索引擎索引alt屬性中的文本,提高網頁的SEO排名。

HTML、CSS和JavaScript在網頁開發中的作用分別是:1.HTML用於構建網頁結構;2.CSS用於美化網頁外觀;3.JavaScript用於實現動態交互。通過標籤、樣式和腳本,這三者共同構築了現代網頁的核心功能。

設置標籤的lang屬性是優化網頁可訪問性和SEO的關鍵步驟。 1)在標籤中設置lang屬性,如。 2)在多語言內容中,為不同語言部分設置lang屬性,如。 3)使用符合ISO639-1標準的語言代碼,如"en"、"fr"、"zh"等。正確設置lang屬性可以提高網頁的可訪問性和搜索引擎排名。

htmlattributeseresene forenhancingwebelements'functionalityandAppearance.TheyAdDinformationTodeFineBehavior,外觀和互動,使網站互動,響應式,visalalyAppealing.AttributesLikutesLikeSlikEslikesrc,href,href,href,類,類型,類型,和dissabledtransfransformformformformformformformformformformformformformformforment

toCreateAlistInHtml,useforforunordedlistsandfororderedlists:1)forunorderedlists,wrapitemsinanduseforeachItem,RenderingeringAsabulletedList.2)fororderedlists,useandfornumberedlists,useandfornumberedlists,casundfornumberedlists,casundfornthetthetthetthetthetthetthetttributefordforderfordforderforderentnumberingsnumberingsnumberingStys。

HTML用於構建結構清晰的網站。 1)使用標籤如、、定義網站結構。 2)示例展示了博客和電商網站的結構。 3)避免常見錯誤如標籤嵌套不正確。 4)優化性能通過減少HTTP請求和使用語義化標籤。

toinsertanimageIntoanhtmlpage,usethetagwithsrcandaltattributes.1)usealttextforAcccessibilityandseo.2)instementRcsetForresponSiveImages.3)applylazyloadingWithLoadingWithLoading =“ lazy” tooptimizeperformance.4)tooptimizeperformance.4)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

Dreamweaver CS6
視覺化網頁開發工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中