# 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对象 属性+方法
http://www.runoob.com/jsref/dom-obj-document.html
属性 | 方法 | 描述 |
---|---|---|
document.activeElement | 返回当前获取焦点元素 | |
document.addEventListener() | 向文档添加句柄 | |
document.adoptNode(node) | ||
document.anchors | a标签中需要含有name才能获取! | |
document.baseURI | 返回绝对基础URI | |
document.body | 返回文档body元素 | |
document.close() | 关闭document.open的输出流 document.close (opens new window) | |
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 | |
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 元素对象
http://www.runoob.com/jsref/dom-obj-all.html
属性 | 方法 | 描述 |
---|---|---|
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 (opens new window) | |
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属性 | |