DOM 对象
- document 对象,文档,window 的属性
- xml DOM http://www.w3school.com.cn/xmldom/dom_htmlelement.asp
- document 是文档 (整个 DOM 树) 的根节点
- 对于 DOM 元素,children 是指 DOM Object 类型的子对象,不包括 tag 之间隐形存在的 TextNode,而 childNodes 包括 tag 之间隐形存在的 TextNode 对象
- domContentLoaded 事件早于 onload
知识点
- docment 是一个 document node
- elements 都是 element node
- comments 不都是 document node
- element 内的 text 内容也是 text node
dom 继承顺序
HTMLDivElement
> HTMLElement
> Element
> Node
> EventTarget
Document 对象属性+方法
| 属性 | 方法 | 描述 | | ------------------------ | ----------------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | | document.activeElement | | 返回当前获取焦点元素 | | | document.addEventListener() | 向文档添加句柄 | | | document.adoptNode(node) | | | document.anchors | | a标签中需要含有name才能获取!
| | document.baseURI | | 返回绝对基础 URI | | document.body | | 返回文档 body 元素 | | | document.close() | 关闭 document.open 的输出流 document.close | | document.cookie | | 返回所有的 cookie 字符串 | | | document.createAttribute() | 创建属性节点 | | | document.createComment() | 竟然能创建一段注释的节点,亮瞎狗眼 | | | document.createDocumentFragment()
| 创建空 DocumentFragment 并返回,对多节点循环创建性能更优,[用法](https://blog.csdn.net/qiao13633426513/article/details/80243058 | | ) | | | document.createElement() | 创建元素节点 | | | document.createTextNode() | 创建文档节点,不太实际 | | document.doctype | | | | document.documentElement | | 返回根节点 | | document.documentMode | | 返回渲染模式 | | document.documentURI | | | | document.domain | | | | document.embeds | | | | document.forms | | | | | document.getElementByClassName()
| 返回指定 class 的 NodeList 对象 | | | document.getElementById()
| id 第一个对象引用 | | | document.getElementByName
| 名称对象集合 | | | document.getElementByTagName
| 标签对象集合 | | document.images
| | 返回所有 Image 对象引用 | | document.implementation | | 啥玩意 | | | document.import() | | | document.inputEncoding | | 返回文档编码方式,比如UTF-8
| | document.lastModified | | 返回文档最后被修改的时间 | | document.links | | 返回所有 a 标签 | | | document.normalize() | 删除空文本节点,并连接相邻及节点,createTextNode 创建的节点。 | | | document.normalizeDocument() | | | | document.open() | 打开一个流,以收集任何 document.write | writenlen()方法的输出 document.close | | | document.querySelector()
| 匹配 css 选择器的第一个元素 | | | document.querySelectorAll()
| 返回匹配 css 选择的所有元素节点的列表 | | document.readyState | | 返回文档状态 uninitialized
loading
interactive
complete
| | document.referer | | 返回上一个文档的 URL | | | document.removeEventListener() | 移除 addEventListener()添加的句柄 | | document.scripts | | 返回所有脚本的集合 | | document.title | | 返回 title | | document.URL | | 返回完整的 URL | | | document.write() | 写 html 表达式或者 js 代码,重写整个文档 | | | document.writelen() | 等同 write,但带有换行符 | | | | |
HTML DOM 属性对象
属性 | 方法 | 描述 |
---|---|---|
attr.idId | 是 id,true,否则 false | |
attr.name | ||
attr.value | ||
attr.specified | 返回被指定的属性,true,否则 false | |
nodemap.getNamedItem | btn.attributes.getNamedItem("onclick").textContent; 返回 onclick | |
nodemap.item() | ||
nodemap.length | 查看元素带有多少个属性。error | |
nodemap.removeNamedItem | 移除指定属性节点 | |
nodemap.setNamedItem | 设置指定属性节点,通过名称 | |
HTML DOM 元素对象
属性 | 方法 | 描述 |
---|---|---|
element.accessKey | *设置或者返回 accessKey 一个元素 | |
element.attributes | 返回一个元素的属性数组 | |
element.childNodes | 返回一个元素的子元素数组 | |
element.children | 返回一个子元素的集合 | |
element.classList | *返回元素的类型,作为 DOM Token 对象 | |
element.className | 设置或者返回 class 名称 | |
element.clientHeight | 返回整数,浏览器当前视窗的文档高度 | |
element.clientWidth | 返回整数,浏览器当前视窗的文档宽度 | |
element.contentEditable | 如果设置为 true 则可编辑。false 不可编辑 | |
element.dir | ||
element.firstChild | ||
element.id | ||
element.innerHTML | ||
element.isContentEditable | ||
element.lang | ||
element.lastChild | ||
element.namespaceURL | ||
element.nextSibling | ||
element.nextElementSibling | ||
element.nodeName | ||
element.nodeType | ||
element.nodeValue | ||
element.offsetHeight | ||
element.offsetWidth | ||
element.offsetLeft | ||
element.offsetParent | ||
element.offsetTop | ||
element.ownerDocument | ||
element.parentNode | ||
element.previousSibling | ||
element.previousElementSibling | ||
element.scrollHeight | ||
element.scrollLeft | ||
element.scrollTop | ||
element.scrollWidth | ||
element.style | ||
element.tabIndex | ||
element.tagName | ||
element.textContent | ||
nodeList.length | ||
element.addEventListener() | 指定元素添加事件句柄??句柄啥玩意 | |
element.appendChild() | 添加一个子元素 | |
element.cloneNode() | ||
element.compareDocumentPosition() | ||
element.focus() | ||
element.getAttribute() | ||
element.getAttributeNode() | ||
element.getElementsByTagName() | ||
element.getElementsByClassName() | ||
element.getFeature() | ||
element.getUserData() | ||
element.hasAttribute() | ||
element.hasAttributes() | ||
element.hasChildNodes() | ||
element.hasFocus() | ||
element.insertBefore() | 插入,已选择的.insertBefore(parentNode,ChildNode) insertBefore | |
element.isDefaultNamespace() | ||
element.isEquaNode() | ||
element.isSameNode() | ||
element.isSupported() | ||
element.normalize() | ||
document.querySelector() | ||
document.querySelectorAll() | ||
element.removeAttribute() | ||
element.removeAttributeNode() | ||
element.removeChild() | ||
element.removeEventListener() | ||
element.replaceChild() | 替换 | |
element.setAttribute() | ||
element.setAttributeNode() | ||
element.setIdAttribute() | ||
element.setIdAttributeNode() | ||
element.setUserData() | ||
element.toString() | ||
nodeList.item() | ||
HTML DOM 事件,见 ## DOM事件
单独拎出来
Console 对象
cssStyle 对象
属性 | 方法 | 描述 |
---|---|---|
cssText | style 属性,document.body[0].style.cssText | |
length | ||
parentRule | ||
getPropertyPriority() | 指定是否设置了 !important 属性 | |
getPropertyValue() | 返回指定的 css 属性值 | |
item() | 通过索引方式返回 css 声明的 css 属性名 | |
removeProperty() | 移除 css 声明中的 css 属性 | |
setProperty() | 在 css 声明块中新建或者修改 css 属性 | |