获取window
通常,我们在浏览器中,都是直接通过 window.xxx
来直接使用window
对象的,但是由于浏览器中的页面可能包含框架集,此时每一个框架集都是有一个window
对象,那么如何准确获取我们需要的window
对象呢?
如果页面包含多个框架(一般来说,每一个),那么每个框架都加载的是不同的文档,它们都有自己的 documet
文档对象,在每个document
对象上都有一个名为 defaultView
的属性指向它所在的window
,所以我们可以这样或取某个文档关联的 window
:
var win = document.defaultView
如果该文档没有关联的对象,则会返回 null
;
但是日常开发中,我们往往首先拿到的是某个DOM节点而非document
对象,那我们又如何判断该节点是属于页面中哪个document
呢?
每一个节点都有一个只读属性 ownerDocument
,通过该属性,就可以获取到它所属的document
:
var doc = node.ownerDocument;
节点相关的操作
获取下一个兄弟节点
node.nextSibling // 若不存在返回null
获取上一个兄弟节点
node.previousSibling
在某个子节点前插入一个新的子节点
node.insertBefore(newNode, node)
在最后一个位置追加一个子节点
node.appendChild(newNode)
获取节点标签名
node.tagName
删除某一个子节点
node.removeChild(node)
// 未完,待补充