HTMLElement 表示所有的 HTML 元素。
這里將以事件屬性和非事件屬性的分類進行介紹。
事件屬性大多繼承自GlobalEventHandlers,非事件屬性大多繼承自Element。
菜單
2. 非事件屬性
3. 事件屬性
4. 擴展閱讀
1. 獲取HTMLElement元素方式
通過DOM,有以下4種方式直接獲取HTMLElement對象:
document.getElementById(elementID) :獲取指定ID的第一個元素。
document.getElementsByName(className) :獲取一個class屬性含有指定值的元素數組 。
document.getElementsByName(nameValue) :獲取一個name屬性為指定值的元素數組。
document.getElementsByTagName(elementName)等方式來獲取指定元素 :獲取一個指定元素名稱的元素數組。
2. 非事件屬性
說明:包含從Element繼承的以及自身獨有的屬性
屬性名稱 | 屬性類型 | 說明 |
element.attributes 只讀 | NamedNodeMap | 獲取此元素的所有屬性集合對象 |
HTMLElement.contentEditable | "true"、"false" or "inherit"(默認) |
獲取或設置元素的可編輯狀態 |
element.children 只讀 | HTMLCollection | 獲取一個包含該元素下子元素的數組 |
element.classList 只讀 | DOMTokenList | 獲取一個包含該元素class的數組。 |
element.className | DOMString | 設置或獲取元素的class屬性 eg:<button class="a b"></buttom> => 'a b' |
element.clientHeight 只讀 | double | 獲取元素內部的像素高度;包含內邊距、內容區域,但不包括水平滾動條、邊框和外邊距。 |
element.clientLeft 只讀 | double | 獲取元素的左邊框的像素寬度。不包括左外邊距和左內邊距。 |
element.clientTop 只讀 | double | 獲取元素的頂部邊框的像素寬度。不包括頂部外邊距或頂部內邊距 |
element.clientWidth 只讀 | double | 獲取元素的內部像素寬度。包括內邊距、內容區域,但不包括垂直滾動條、邊框和外邊距。 |
HTMLElement.dataset 只讀 | DOMStringMap | 獲取一個包含此元素的所有以 data- 開頭的自定義數據屬性的數組。 |
HTMLElement.dir | DOMString | 設置或獲取元素的內容書寫方向 |
HTMLElement.draggable | Boolean | 設置或獲取元素是否可拖動 |
HTMLElement.hidden | Boolean | 設置或獲取元素是否隱藏 |
HTMLElement.id | DOMString | 設置或獲取元素的id |
HTMLElement.isContentEditable 只讀 | Boolean | 獲取元素的內容是否可編輯狀態 |
element.innerHTML | DOMString | 以HTML代碼格式設置獲取元素內的內容。 |
element.innerText | DOMString | 設置或獲取元素內的文本內容。 |
element.namespaceURI 只讀 | DOMString | 獲取元素的命名空間。 |
HTMLElement.offsetHeight 只讀 | double | 獲取元素完整的像素高度;包含了邊框、內邊距、內容區域以及滾動條等范圍 |
HTMLElement.offsetLeft 只讀 | double | 獲取當前元素左上角相對於 HTMLElement.offsetParent 節點的左邊界 偏移的像素值。 |
HTMLElement.offsetParent 只讀 | Element | 獲取元素的父元素 |
HTMLElement.offsetTop 只讀 | double | 獲取元素與其 offsetParent 元素的頂部距離 |
HTMLElement.offsetWidth 只讀 | double | 獲取元素完整的像素寬度;包含了邊框、內邊距、內容區域以及滾動條等范圍 |
HTMLElement.style | CSSStyleDeclaration | 設置或獲取元素的樣式對象 |
element.scrollHeight 只讀 | double | 與clientheight類似。還包含了不可見的內容區域。 若獲取的值比clientHeight小,將返回 clientHeight。 |
element.scrollLeft | double | 設置或獲取元素水平滾動條到最左邊的距離 |
element.scrollTop | double | 設置或獲取元素垂直滾動條到頂部的距離 |
element.scrollWidth 只讀 | double | 與clientWidth類似。還包含了不可見的內容區域。 若獲取的值比clientWidth小,將返回 clientWidth。 |
HTMLElement.tabIndex | long | 設置或獲取元素的tab順序 |
element.tagName 只讀 | DOMString | 獲取元素的元素名稱,以大寫格式返回。eg:<div></div> // =>DIV |
HTMLElement.title | DOMString | 設置或獲取元素的title |
3. 事件屬性
3.1 繼承自GlobalEventHandlers的事件屬性
屬性名稱 | 事件說明 |
onabort | 中斷事件;如img的中斷下載。 |
onblur | 當元素失去焦點時觸發 |
onerror | 錯誤發生時觸發;如Js運行錯誤。在window可注冊一個全局的error事件處理函數用於收集錯誤報告。 |
onfocus | 當元素獲取焦點時觸發 |
onchange | 當元素內容發生變更並失去焦點時觸發 |
onclick | 點擊元素時觸發 |
oncontextmenu | 在元素范圍內右鍵顯示菜單時觸發 |
ondblclick | 雙擊元素時觸發 |
ondrag | 拖動元素時觸發 |
ondragend | 元素拖動結束時觸發 |
ondragenter | 當其他元素拖動到該元素范圍內時觸發 |
ondragexit | 該元素被拖動到某一拖動區域,並在拖動區域內釋放鼠標時,該元素將觸發此事件 |
ondragleave | 當其他元素拖動到該元素范圍內后再拖動出去時觸發 |
ondragover | 當其他元素在該元素范圍內進行拖動時觸發 |
ondragstart | 元素開始拖動時觸發 |
onDrop | 其他元素拖到該元素范圍內並釋放時觸發 |
oninput | 當<input>、<textarea>等元素value屬性的值由輸入設備改變時,就會觸發input事件 |
onkeydown | 當元素獲取焦點並且按下鍵盤按鍵時會觸發 |
onkeypress | 當元素獲取焦點並且完成一次鍵盤按鍵的按下和彈起時會觸發 |
onkeyup | 當元素獲取焦點並且鍵盤按鍵彈起時會觸發 |
onload | 元素加載完成后觸發 |
onmousedown | 在元素范圍內按下鼠標按鍵時會觸發 |
onmouseenter | 在鼠標進入元素范圍內時會觸發 |
onmouseleave | 在鼠標離開元素范圍時會觸發 |
onmousemove | 鼠標在元素范圍內移動時會觸發 |
onmouseout | 在鼠標離開元素范圍時會觸發,推薦使用 onmouseleave |
onmouseover | 鼠標在元素范圍內移動時會觸發,推薦使用 onmousemove |
onmouseup | 在元素范圍內彈起鼠標按鍵時會觸發 |
onmousewheel | 鼠標在元素范圍內使用滾時會觸發 |
onscroll | 元素進行滾動時觸發;包括水平、垂直滾動 |
注意: mouseover/mouseout 與 mouseenter/mouseleave 的差別可查看此鏈接 events-mouseevent-event-order
3.2 自身的事件屬性
屬性名稱 | 事件說明 |
onTouchStart | 在元素范圍內開始觸摸 |
onTouchEnd | 在元素上結束觸摸 |
onTouchMove | 在元素范圍內觸摸移動 |
onTouchEnter | 觸摸點進入元素范圍內 |
onTouchLeave | 觸摸點離開元素范圍 |
onTouchCancel | 在元素范圍內觸摸結束 |
4. 擴展閱讀
HTMLElement:https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLElement
Element:https://developer.mozilla.org/zh-CN/docs/Web/API/Element
GlobalEventHandlers:https://developer.mozilla.org/zh-CN/docs/Web/API/GlobalEventHandlers
部分在線Demo:http://www.akmsg.com/WebDemo/HTML5-HTMLElementAttr.html