HTML DOM 常用对象总结

HTML DOM 常用对象总结

核心DOM对象(文档结构)

对象/接口 描述 常用属性/方法
Document 整个文档的根节点 getElementById(), querySelector(), createElement(), title, body, head, documentElement
Element 所有HTML元素的基类 innerHTML, innerText, textContent, className, classList, id, style, getAttribute(), appendChild()
Node DOM树中的所有节点 nodeName, nodeType, nodeValue, parentNode, childNodes, firstChild, lastChild, appendChild(), removeChild()
HTMLElement HTML元素的基类 继承Element,添加HTML特定功能
HTMLDocument HTML文档接口 继承Document,添加HTML特定功能

元素节点类型对象

对象 对应标签 特有属性/方法
HTMLDivElement <div> 无特有属性,继承HTMLElement
HTMLSpanElement <span> 继承HTMLElement
HTMLParagraphElement <p> 继承HTMLElement
HTMLHeadingElement <h1>-<h6> 继承HTMLElement
HTMLAnchorElement <a> href, target, download, rel
HTMLImageElement <img> src, alt, width, height, naturalWidth, naturalHeight, complete
HTMLInputElement <input> value, type, checked, disabled, focus(), blur(), select(), files
HTMLTextAreaElement <textarea> value, rows, cols, selectionStart, selectionEnd
HTMLSelectElement <select> options, selectedIndex, value, add(), remove()
HTMLOptionElement <option> selected, value, text
HTMLFormElement <form> elements, submit(), reset(), action, method
HTMLButtonElement <button> type, disabled, form
HTMLLabelElement <label> htmlFor, control
HTMLTableElement <table> rows, caption, createTHead(), insertRow()
HTMLTableCellElement <td>, <th> colSpan, rowSpan, cellIndex
HTMLUListElement <ul>, <ol> 继承HTMLElement
HTMLLIElement <li> 继承HTMLElement

集合类对象

对象 描述 特性
HTMLCollection 动态元素集合 length, item(index), namedItem(name),随DOM变化自动更新
NodeList 节点集合 length, item(index),forEach(),可能是静态或动态的
HTMLOptionsCollection <select>的选项集合 继承HTMLCollection,用于select.options

属性相关对象

对象 描述 常用属性
Attr 元素属性节点 name, value, ownerElement
NamedNodeMap 属性节点集合 length, getNamedItem(), setNamedItem()
DOMTokenList class列表 length, add(), remove(), toggle(), contains(),对应classList

样式相关对象

对象 描述 常用属性/方法
CSSStyleDeclaration 元素样式对象 cssText, getPropertyValue(), setProperty(),对应element.style
StyleSheetList 样式表集合 length, item(index)
CSSStyleSheet CSS样式表 cssRules, insertRule(), deleteRule()

事件相关对象

对象 描述 常用属性/方法
Event 事件基类 type, target, currentTarget, preventDefault(), stopPropagation()
MouseEvent 鼠标事件 clientX, clientY, pageX, pageY, button, altKey, ctrlKey
KeyboardEvent 键盘事件 key, code, altKey, ctrlKey, shiftKey
FocusEvent 焦点事件 relatedTarget
InputEvent 输入事件 data, inputType, isComposing
UIEvent 用户界面事件 view, detail
EventTarget 事件目标接口 addEventListener(), removeEventListener(), dispatchEvent()

文档结构对象

对象 描述 常用属性
DocumentFragment 轻量级文档片段 作为临时容器,无父节点
DocumentType 文档类型声明 name, publicId, systemId
CharacterData 文本节点基类 data, length, substringData()
Text 文本节点 继承CharacterData,wholeText, splitText()
Comment 注释节点 继承CharacterData
CDATASection CDATA节点 继承Text
ProcessingInstruction 处理指令 target, data

范围与选择对象

对象 描述 常用方法
Range 文档范围 setStart(), setEnd(), selectNode(), extractContents()
Selection 用户选择 anchorNode, focusNode, toString(), removeAllRanges()

表单数据对象

对象 描述 常用方法
FormData 表单数据 append(), get(), set(), entries()
ValidityState 表单验证状态 valid, valueMissing, typeMismatch, patternMismatch
File 文件对象 name, size, type, lastModified
FileList 文件列表 length, item(index)

其他重要对象

对象 描述 用途
Location 浏览器地址信息 href, hash, host, pathname, search, reload(), replace()
History 浏览器历史 length, back(), forward(), go(), pushState()
Navigator 浏览器信息 userAgent, platform, language, geolocation
Screen 屏幕信息 width, height, availWidth, colorDepth
Performance 性能信息 timing, memory, now()
Storage 本地存储 localStorage, sessionStorage
URLSearchParams URL查询参数 get(), set(), append(), toString()

实用技巧

javascript 复制代码
// 常见对象类型判断
console.log(document instanceof Document); // true
console.log(document.body instanceof HTMLElement); // true
console.log(document.body instanceof Element); // true
console.log(document.body instanceof Node); // true

// 节点类型常量
Node.ELEMENT_NODE (1)      // 元素节点
Node.TEXT_NODE (3)         // 文本节点
Node.COMMENT_NODE (8)      // 注释节点
Node.DOCUMENT_NODE (9)     // 文档节点
Node.DOCUMENT_TYPE_NODE (10) // 文档类型节点

这个表格涵盖了Web开发中最常用的DOM对象,理解这些对象的层次关系和特性对于高效操作DOM至关重要。

相关推荐
五月CG2 年前
JavaScript与jQuery(上篇)
前端·javascript·jquery·bom对象·dom对象