Element
Baseline 廣泛可用 *
Element 是所有元素物件(即表示元素的Document)的基類,它繼承自這個最通用的基類。它只包含所有型別元素共有的方法和屬性。更具體的類會繼承自 Element。
例如,HTMLElement 介面是 HTML 元素的基介面。類似地,SVGElement 介面是所有 SVG 元素的基介面,而 MathMLElement 介面是 MathML 元素的基介面。大多數功能都在類層次結構中進一步指定。
Web 平臺領域之外的語言,例如透過 XULElement 介面實現的 XUL,也實現了 Element。
例項屬性
Element 繼承自其父介面 Node,並由此繼承自該介面的父介面 EventTarget。
Element.assignedSlot只讀-
返回一個
HTMLSlotElement,表示節點插入到的<slot>。 Element.attributes只讀-
返回一個
NamedNodeMap物件,其中包含相應 HTML 元素的已分配屬性。 Element.childElementCount只讀-
返回此元素的子元素數量。
Element.children只讀-
返回此元素的子元素。
Element.classList只讀-
返回一個
DOMTokenList,其中包含類屬性列表。 Element.className-
一個字串,表示元素的類。
Element.clientHeight只讀-
返回一個數字,表示元素的內部高度。
Element.clientLeft只讀-
返回一個數字,表示元素的左邊框寬度。
Element.clientTop只讀-
返回一個數字,表示元素的上邊框寬度。
Element.clientWidth只讀-
返回一個數字,表示元素的內部寬度。
Element.currentCSSZoom只讀-
一個數字,表示元素的有效縮放大小;如果元素未渲染,則為 1.0。
Element.elementTiming實驗性-
一個字串,反映
elementtiming屬性,該屬性用於標記元素以便在PerformanceElementTimingAPI 中進行觀察。 Element.firstElementChild只讀-
返回此元素的第一個子元素。
Element.id-
一個字串,表示元素的 id。
Element.innerHTML-
一個字串,表示元素內容的標記。
Element.lastElementChild只讀-
返回此元素的最後一個子元素。
Element.localName只讀-
一個字串,表示元素限定名稱的本地部分。
Element.namespaceURI只讀-
元素的名稱空間 URI,如果沒有名稱空間,則為
null。 Element.nextElementSibling只讀-
一個
Element,表示樹中緊跟在給定元素後面的元素,如果沒有兄弟節點則為null。 Element.outerHTML-
一個字串,表示元素的標記(包括其內容)。當用作設定器時,用給定字串解析出的節點替換元素。
Element.part-
表示元素的部件識別符號(即使用
part屬性設定),以DOMTokenList形式返回。 Element.prefix只讀-
一個字串,表示元素的名稱空間字首;如果沒有指定字首,則為
null。 Element.previousElementSibling只讀-
一個
Element,表示樹中緊鄰給定元素之前的元素,如果沒有兄弟元素則為null。 Element.scrollHeight只讀-
返回一個數字,表示元素的滾動檢視高度。
Element.scrollLeft-
一個數字,表示元素的左滾動偏移量。
Element.scrollLeftMax非標準 只讀-
返回一個數字,表示元素可能的最大左滾動偏移量。
Element.scrollTop-
一個數字,表示元素頂部垂直滾動的畫素數。
Element.scrollTopMax非標準 只讀-
返回一個數字,表示元素可能的最大頂部滾動偏移量。
Element.scrollWidth只讀-
返回一個數字,表示元素的滾動檢視寬度。
Element.shadowRoot只讀-
返回元素託管的開放 Shadow Root,如果不存在開放 Shadow Root,則返回 null。
Element.slot-
返回元素插入的 Shadow DOM Slot 的名稱。
Element.tagName只讀-
返回一個字串,其中包含給定元素的標籤名稱。
ARIA 中包含的例項屬性
Element 介面還包括以下屬性。
Element.ariaAtomic-
一個字串,反映
aria-atomic屬性,該屬性指示輔助技術是根據aria-relevant屬性定義的更改通知來呈現所有更改區域還是僅呈現部分更改區域。 Element.ariaAutoComplete-
一個字串,反映
aria-autocomplete屬性,該屬性指示輸入文字是否可以觸發顯示一個或多個使用者對組合框、搜尋框或文字框的預期值的預測,並指定如果進行預測,它們將如何呈現。 Element.ariaBrailleLabel-
一個字串,反映
aria-braillelabel屬性,該屬性定義元素的盲文標籤。 Element.ariaBrailleRoleDescription-
一個字串,反映
aria-brailleroledescription屬性,該屬性定義元素的 ARIA 盲文角色描述。 Element.ariaBusy-
一個字串,反映
aria-busy屬性,該屬性指示元素是否正在被修改,因為輔助技術可能希望等到修改完成後再將其暴露給使用者。 Element.ariaChecked-
一個字串,反映
aria-checked屬性,該屬性指示覆選框、單選按鈕和具有選中狀態的其他小部件的當前“選中”狀態。 Element.ariaColCount-
一個字串,反映
aria-colcount屬性,該屬性定義表格、網格或樹網格中的列數。 Element.ariaColIndex-
一個字串,反映
aria-colindex屬性,該屬性定義元素在表格、網格或樹網格中相對於總列數的列索引或位置。 Element.ariaColIndexText-
一個字串,反映
aria-colindextext屬性,該屬性定義 aria-colindex 的人類可讀文字替代項。 Element.ariaColSpan-
一個字串,反映
aria-colspan屬性,該屬性定義單元格或網格單元格在表格、網格或樹網格中跨越的列數。 Element.ariaCurrent-
一個字串,反映
aria-current屬性,該屬性指示容器或一組相關元素中表示當前項的元素。 Element.ariaDescription-
一個字串,反映
aria-description屬性,該屬性定義描述或註釋當前元素的字串值。 Element.ariaDisabled-
一個字串,反映
aria-disabled屬性,該屬性指示元素可感知但已停用,因此不可編輯或以其他方式操作。 Element.ariaExpanded-
一個字串,反映
aria-expanded屬性,該屬性指示此元素擁有或控制的分組元素是展開還是摺疊。 Element.ariaHasPopup-
一個字串,反映
aria-haspopup屬性,該屬性指示互動式彈出元素(如選單或對話方塊)的可用性和型別,該彈出元素可以由元素觸發。 -
一個字串,反映
aria-hidden屬性,該屬性指示元素是否暴露給輔助功能 API。 Element.ariaInvalid-
一個字串,反映
aria-invalid屬性,該屬性指示輸入值不符合應用程式預期的格式。 Element.ariaKeyShortcuts-
一個字串,反映
aria-keyshortcuts屬性,該屬性指示作者已實現的鍵盤快捷鍵,用於啟用或聚焦元素。 Element.ariaLabel-
一個字串,反映
aria-label屬性,該屬性定義標記當前元素的字串值。 Element.ariaLevel-
一個字串,反映
aria-level屬性,該屬性定義元素在結構中的層次級別。 Element.ariaLive-
一個字串,反映
aria-live屬性,該屬性指示元素將被更新,並描述使用者代理、輔助技術和使用者可以從活動區域預期的更新型別。 Element.ariaModal-
一個字串,反映
aria-modal屬性,該屬性指示元素顯示時是否為模態。 Element.ariaMultiline-
一個字串,反映
aria-multiline屬性,該屬性指示文字框是接受多行輸入還是隻接受單行輸入。 Element.ariaMultiSelectable-
一個字串,反映
aria-multiselectable屬性,該屬性指示使用者可以從當前可選擇的後代中選擇多個項。 Element.ariaOrientation-
一個字串,反映
aria-orientation屬性,該屬性指示元素的朝向是水平、垂直還是未知/模糊。 Element.ariaPlaceholder-
一個字串,反映
aria-placeholder屬性,該屬性定義一個簡短提示,旨在幫助使用者在控制元件沒有值時進行資料輸入。 Element.ariaPosInSet-
一個字串,反映
aria-posinset屬性,該屬性定義元素在當前列表項或樹項集中的編號或位置。 Element.ariaPressed-
一個字串,反映
aria-pressed屬性,該屬性指示切換按鈕的當前“按下”狀態。 Element.ariaReadOnly-
一個字串,反映
aria-readonly屬性,該屬性指示元素不可編輯,但仍可操作。 Element.ariaRelevant非標準-
一個字串,反映
aria-relevant屬性,該屬性指示當活動區域內的可訪問性樹被修改時,使用者代理將觸發哪些通知。這用於描述aria-live區域中哪些更改是相關的,應該被宣佈。 Element.ariaRequired-
一個字串,反映
aria-required屬性,該屬性指示在提交表單之前元素上需要使用者輸入。 Element.ariaRoleDescription-
一個字串,反映
aria-roledescription屬性,該屬性定義了元素角色的可讀、作者本地化的描述。 Element.ariaRowCount-
一個字串,反映
aria-rowcount屬性,該屬性定義表格、網格或樹網格中的總行數。 Element.ariaRowIndex-
一個字串,反映
aria-rowindex屬性,該屬性定義元素在表格、網格或樹網格中相對於總行數的行索引或位置。 Element.ariaRowIndexText-
一個字串,反映
aria-rowindextext屬性,該屬性定義 aria-rowindex 的人類可讀文字替代項。 Element.ariaRowSpan-
一個字串,反映
aria-rowspan屬性,該屬性定義單元格或網格單元格在表格、網格或樹網格中跨越的行數。 Element.ariaSelected-
一個字串,反映
aria-selected屬性,該屬性指示具有選中狀態的元素的當前“選中”狀態。 Element.ariaSetSize-
一個字串,反映
aria-setsize屬性,該屬性定義當前列表項或樹項集中的專案數。 Element.ariaSort-
一個字串,反映
aria-sort屬性,該屬性指示表格或網格中的專案是否按升序或降序排序。 Element.ariaValueMax-
一個字串,反映
aria-valueMax屬性,該屬性定義範圍小部件的最大允許值。 Element.ariaValueMin-
一個字串,反映
aria-valueMin屬性,該屬性定義範圍小部件的最小允許值。 Element.ariaValueNow-
一個字串,反映
aria-valueNow屬性,該屬性定義範圍小部件的當前值。 Element.ariaValueText-
一個字串,反映
aria-valuetext屬性,該屬性定義範圍小部件的aria-valuenow的人類可讀文字替代項。 Element.role-
一個字串,反映顯式設定的
role屬性,該屬性提供元素的語義角色。
從 ARIA 元素引用中反映的例項屬性
這些屬性反映了相應屬性中由 id 引用指定的元素,但有一些注意事項。有關更多資訊,請參閱《反射屬性》指南中的反射元素引用。
Element.ariaActiveDescendantElement-
一個元素,表示當焦點位於
複合小部件、組合框、文字框、分組或應用程式上時,當前的活動元素。反映aria-activedescendant屬性。 Element.ariaControlsElements-
一個元素陣列,其內容或存在受其所應用的元素控制。反映
aria-controls屬性。 Element.ariaDescribedByElements-
一個元素陣列,包含其所應用的元素的可訪問描述。反映
aria-describedby屬性。 Element.ariaDetailsElements-
一個元素陣列,提供其所應用的元素的可訪問詳細資訊。反映
aria-details屬性。 Element.ariaErrorMessageElements-
一個元素陣列,提供其所應用的元素的錯誤訊息。反映
aria-errormessage屬性。 Element.ariaFlowToElements-
一個元素陣列,用於標識內容備用閱讀順序中的下一個元素(或多個元素),根據使用者的判斷覆蓋一般預設閱讀順序。反映
aria-flowto屬性。 Element.ariaLabelledByElements-
一個元素陣列,提供其所應用的元素的可訪問名稱。反映
aria-labelledby屬性。 Element.ariaOwnsElements-
一個元素陣列,由其所應用的元素擁有。這用於定義父元素與其子元素之間的視覺、功能或上下文關係,當 DOM 層次結構無法表示該關係時。反映
aria-owns屬性。
例項方法
Element 繼承自其父級 Node,以及它自己的父級 EventTarget 的方法。
Element.after()-
在
Element的父級的子節點列表中,緊接在Element之後插入一組Node物件或字串。 Element.animate()-
一個用於在元素上建立和執行動畫的快捷方法。返回建立的 Animation 物件例項。
Element.ariaNotify()實驗性 非標準-
指定給定的文字字串應由螢幕閱讀器宣佈。
Element.append()-
在元素的最後一個子節點之後插入一組
Node物件或字串。 Element.attachShadow()-
將 Shadow DOM 樹附加到指定的元素,並返回對其
ShadowRoot的引用。 Element.before()-
在
Element的父級的子節點列表中,緊接在Element之前插入一組Node物件或字串。 Element.checkVisibility()-
根據可配置的檢查,返回元素是否預期可見。
Element.closest()-
返回與引數中給定選擇器匹配的當前元素最近的祖先元素(或當前元素本身)的
Element。 Element.computedStyleMap()-
返回一個
StylePropertyMapReadOnly介面,它提供了一個 CSS 宣告塊的只讀表示,作為CSSStyleDeclaration的替代方案。 Element.getAnimations()-
返回當前在元素上活動的 Animation 物件陣列。
Element.getAttribute()-
從當前節點檢索指定屬性的值並將其作為字串返回。
Element.getAttributeNames()-
從當前元素返回屬性名稱陣列。
Element.getAttributeNode()-
從當前節點檢索指定屬性的節點表示並將其作為
Attr返回。 Element.getAttributeNodeNS()-
從當前節點檢索具有指定名稱和名稱空間的屬性的節點表示並將其作為
Attr返回。 Element.getAttributeNS()-
從當前節點檢索具有指定名稱空間和名稱的屬性的值並將其作為字串返回。
Element.getBoundingClientRect()-
返回元素的大小及其相對於視口的位置。
Element.getBoxQuads()實驗性-
返回表示節點 CSS 片段的
DOMQuad物件列表。 Element.getClientRects()-
返回一個矩形集合,表示客戶端中文字每行的邊界矩形。
Element.getElementsByClassName()-
返回一個活動的
HTMLCollection,其中包含當前元素的所有後代元素,這些元素具有引數中給出的類列表。 Element.getElementsByTagName()-
從當前元素返回一個活動的
HTMLCollection,其中包含特定標籤名稱的所有後代元素。 Element.getElementsByTagNameNS()-
從當前元素返回一個活動的
HTMLCollection,其中包含特定標籤名稱和名稱空間的所有後代元素。 Element.getHTML()-
將元素的 DOM 內容作為 HTML 字串返回,可選地包括任何 Shadow DOM。
Element.hasAttribute()-
返回一個布林值,指示元素是否具有指定的屬性。
Element.hasAttributeNS()-
返回一個布林值,指示元素是否在指定的名稱空間中具有指定的屬性。
Element.hasAttributes()-
返回一個布林值,指示元素是否具有一個或多個 HTML 屬性。
Element.hasPointerCapture()-
指示呼叫它的元素是否對給定指標 ID 標識的指標具有指標捕獲。
Element.insertAdjacentElement()-
在相對於呼叫它的元素給定位置插入給定元素節點。
Element.insertAdjacentHTML()-
將文字解析為 HTML 或 XML,並將生成的節點插入到給定位置的樹中。
Element.insertAdjacentText()-
在相對於呼叫它的元素給定位置插入給定文字節點。
Element.matches()-
返回一個布林值,指示元素是否會被指定的選擇器字串選中。
Element.moveBefore()-
在不刪除然後插入節點的情況下,將給定
Node作為直接子節點移動到呼叫節點內部,位於給定參考節點之前。 Element.prepend()-
在元素的第一個子節點之前插入一組
Node物件或字串。 Element.querySelector()-
返回相對於元素與指定選擇器字串匹配的第一個
Node。 Element.querySelectorAll()-
返回一個
NodeList,其中包含相對於元素與指定選擇器字串匹配的節點。 Element.releasePointerCapture()-
釋放(停止)先前為特定
PointerEvent設定的指標捕獲。 Element.remove()-
從其父級的子節點列表中刪除元素。
Element.removeAttribute()-
從當前節點刪除指定屬性。
Element.removeAttributeNode()-
從當前節點刪除指定屬性的節點表示。
Element.removeAttributeNS()-
從當前節點刪除具有指定名稱和名稱空間的屬性。
Element.replaceChildren()-
用指定的新子節點集替換
Node的現有子節點。 Element.replaceWith()-
用一組
Node物件或字串替換其父級子節點列表中的元素。 Element.requestFullscreen()-
非同步請求瀏覽器使元素全屏。
Element.requestPointerLock()-
允許非同步請求將指標鎖定在給定元素上。
Element.scroll()-
滾動到給定元素內的一組特定座標。
Element.scrollBy()-
按給定數量滾動元素。
Element.scrollIntoView()-
滾動頁面直到元素進入檢視。
Element.scrollIntoViewIfNeeded()非標準-
如果當前元素不在瀏覽器視窗的可見區域內,則將其滾動到瀏覽器視窗的可見區域。請改用標準
Element.scrollIntoView()。 Element.scrollTo()-
滾動到給定元素內的一組特定座標。
Element.setAttribute()-
設定當前節點指定屬性的值。
Element.setAttributeNode()-
設定當前節點指定屬性的節點表示。
Element.setAttributeNodeNS()-
設定當前節點具有指定名稱和名稱空間的屬性的節點表示。
Element.setAttributeNS()-
設定當前節點具有指定名稱和名稱空間的屬性的值。
Element.setCapture()非標準 已棄用-
設定滑鼠事件捕獲,將所有滑鼠事件重定向到此元素。
Element.setHTML()安全上下文 實驗性-
解析並清理 HTML 字串為文件片段,然後該片段替換元素在 DOM 中的原始子樹。
Element.setHTMLUnsafe()-
解析 HTML 字串為文件片段,不進行清理,然後該片段替換元素在 DOM 中的原始子樹。HTML 字串可能包含宣告性 Shadow Root,如果 HTML 是使用
Element.innerHTML設定的,則這些 Shadow Root 將被解析為模板元素。 Element.setPointerCapture()-
指定一個特定元素作為未來 指標事件 的捕獲目標。
Element.toggleAttribute()-
切換一個布林屬性,如果它存在則刪除它,如果它不存在則新增到指定的元素。
事件
使用 addEventListener() 或透過將事件監聽器分配給此介面的 oneventname 屬性來監聽這些事件。
afterscriptexecute非標準 已棄用-
當指令碼執行後觸發。
beforeinput-
當輸入元素的值即將被修改時觸發。
beforematch-
當元素處於隱藏直到找到狀態時,如果使用者透過“在頁面中查詢”功能或片段導航找到內容,瀏覽器即將顯示其內容時觸發。
beforescriptexecute非標準 已棄用-
當指令碼即將執行時觸發。
beforexrselect實驗性-
在 WebXR 選擇事件(
select、selectstart、selectend)分派之前觸發。 contentvisibilityautostatechange-
當設定了
content-visibility: auto的任何元素開始或停止與使用者相關並跳過其內容時觸發。 input-
當元素的值因使用者操作直接改變時觸發。
securitypolicyviolation-
當違反 內容安全策略 時觸發。
wheel-
當用戶旋轉指點裝置(通常是滑鼠)上的滾輪按鈕時觸發。
動畫事件
animationcancel-
當動畫意外中止時觸發。
animationend-
當動畫正常完成時觸發。
animationiteration-
當動畫迭代完成時觸發。
animationstart-
當動畫開始時觸發。
剪貼簿事件
合成事件
compositionend-
當文字合成系統(例如輸入法編輯器)完成或取消當前合成會話時觸發。
compositionstart-
當文字合成系統(例如輸入法編輯器)開始新的合成會話時觸發。
compositionupdate-
當在文字合成系統(例如輸入法編輯器)控制的文字合成會話上下文中接收到新字元時觸發。
焦點事件
全屏事件
fullscreenchange-
當
Element進入或退出全屏模式時傳送。 fullscreenerror-
如果嘗試將
Element切換進入或退出全屏模式時發生錯誤,則傳送給Element。
鍵盤事件
滑鼠事件
auxclick-
當非主指點裝置按鈕(例如,除左鍵之外的任何滑鼠按鈕)在元素上按下並釋放時觸發。
click-
當指點裝置按鈕(例如,滑鼠的主按鈕)在單個元素上按下並釋放時觸發。
-
當用戶嘗試開啟上下文選單時觸發。
dblclick-
當指點裝置按鈕(例如,滑鼠的主按鈕)在單個元素上點選兩次時觸發。
DOMActivate已棄用-
當元素被啟用時發生,例如透過滑鼠點選或按鍵。
DOMMouseScroll已棄用 非標準-
當滑鼠滾輪或類似裝置操作且累計滾動量自上次事件以來超過 1 行或 1 頁時發生。
mousedown-
當在元素上按下指點裝置按鈕時觸發。
mouseenter-
當指點裝置(通常是滑鼠)移動到附加了監聽器的元素上時觸發。
mouseleave-
當指點裝置(通常是滑鼠)的指標從附加了監聽器的元素上移出時觸發。
mousemove-
當指點裝置(通常是滑鼠)在元素上移動時觸發。
mouseout-
當指點裝置(通常是滑鼠)從附加了監聽器的元素或其子元素上移開時觸發。
mouseover-
當指點裝置移動到附加了監聽器的元素或其子元素上時觸發。
mouseup-
當在元素上釋放指點裝置按鈕時觸發。
mousewheel已棄用 非標準-
當滑鼠滾輪或類似裝置操作時觸發。
MozMousePixelScroll已棄用 非標準-
當滑鼠滾輪或類似裝置操作時觸發。
webkitmouseforcechanged非標準-
每次觸控板觸控式螢幕上的壓力量發生變化時觸發。
webkitmouseforcedown非標準-
在 mousedown 事件之後,一旦施加了足夠的壓力以符合“強制點選”時觸發。
webkitmouseforcewillbegin非標準-
在
mousedown事件之前觸發。 webkitmouseforceup非標準-
在
webkitmouseforcedown事件之後,一旦壓力減小到足以結束“強制點選”時觸發。
指標事件
gotpointercapture-
當元素使用
setPointerCapture()捕獲指標時觸發。 lostpointercapture-
當捕獲的指標被釋放時觸發。
pointercancel-
當指標事件被取消時觸發。
pointerdown-
當指標變為活動狀態時觸發。
pointerenter-
當指標移動到元素或其子元素的命中測試邊界內時觸發。
pointerleave-
當指標從元素的命中測試邊界中移出時觸發。
pointermove-
當指標座標改變時觸發。
pointerout-
當指標從元素的命中測試邊界中移出時觸發(還有其他原因)。
pointerover-
當指標移動到元素的命中測試邊界內時觸發。
pointerrawupdate-
當指標的任何屬性發生變化,但未觸發
pointerdown或pointerup事件時觸發。 pointerup-
當指標不再活動時觸發。
滾動事件
scroll-
當文件檢視或元素已滾動時觸發。
scrollend-
當文件檢視完成滾動時觸發。
scrollsnapchange實驗性-
在滾動操作結束時,當選擇了新的滾動捕捉目標時,在滾動容器上觸發。
scrollsnapchanging實驗性-
當瀏覽器確定一個新的滾動捕捉目標即將生效時,在滾動容器上觸發,即它將在當前滾動手勢結束時被選中。
觸控事件
gesturechange非標準-
當觸控手勢期間手指移動時觸發。
gestureend非標準-
當不再有多個手指接觸觸控表面,從而結束手勢時觸發。
gesturestart非標準-
當多個手指接觸觸控表面,從而開始新手勢時觸發。
touchcancel-
當一個或多個觸控點以實現特定的方式中斷時觸發(例如,建立了太多觸控點)。
touchend-
當一個或多個觸控點從觸控表面移除時觸發。
touchmove-
當一個或多個觸控點沿觸控表面移動時觸發。
touchstart-
當一個或多個觸控點放置在觸控表面上時觸發。
過渡事件
規範
| 規範 |
|---|
| DOM # interface-element |
| 指標事件 # 對 Element 介面的擴充套件 |
| Fullscreen API # api |
| DOM 解析和序列化 # 對 Element 介面的擴充套件 |
| CSSOM 檢視模組 # 對 Element 介面的擴充套件 |
瀏覽器相容性
載入中…