BOM
- window对象:innerWidth/innerHeight, outerWidth/outerHeight 前者返回页面视图大小,后者返回浏览器窗口本身
document.documentElement.clientWidth等是在标准模式下有效
document.body.clientWidth是在混杂模式下 - location对象
属性:hash, host,hostname, href, pathname , port ,search ,protocol使用协议
方法:location.assgin,location.href - navigatror对象,screen对象,history对象...
DOM
node类型
每个节点都有一个nodeType,nodeName,childNodes,parentNode,ownerDocument
同胞节点属性:previousSibling,nextSibling; 父节点->firstChild,lastChild
常见方法:insertBefore(a,b),appendChild();replaceChild(),removeChild(),cloneNode()
document类型
属性:documentElement/ body /title / URL / domain / referrer
查找元素:getElementById(),getElementsByTagName(),getElementsByName()
特殊集合:document.anchors包含所以带name的a标签
forms所有表单,images/links所有带href的a标签
element类型
属性:tagName,id,title,className,attributes
方法:getAttribute(),setAttribute(),removeAttribute()
document.createElement()
document.createTextNode()
DOM扩展
元素遍历:childElementCount, firstElementChild, lastElementChild, previousElementSibling ...(不用担心空白文本节点)
getElementsByClassName(), classList.add / remove /toggle /contains()
children属性是childNodes的扩展element.children[0]
event.target是指事件的目标对象,而currentTarget是监听处理的目标目标对象
mouseenter/mouseleave光标到子元素上不会出发
mouseover/mouseout