document 节点对象,html
表明整个文档,每张网页都有本身的 document 对象。node
window.document 当浏览器开始加载文档时就存在了数组
// 页面滚动到浏览器顶部 document.scrollingElement.scrollTop = 0;
// 判断 video 元素是否是全屏状态 if (document.fullscreenElement.nodeName == 'VIDEO') { console.log('全屏播放视频'); }
这些集合都是动态的,网页节点发生任何变化,都会反映在这些集合中。浏览器
href
属性的 <a> 及 <area> 节点// 打印文档全部的连接 var links = document.links; for(var i = 0; i < links.length; i++) { console.log(links[i]); }
// http://www.example.com:80/hello.html document.domain; // www.example.com
// HTML 代码以下 // <iframe id="editor" src="about:blank"></iframe> var editor = document.getElementById('editor'); editor.contentDocument.designMode = 'on';
var doc = document.implementation.createHTMLDocument('Title'); var p = doc.createElement('p'); p.innerHTML = 'hello world'; doc.body.appendChild(p); document.replaceChild( doc.documentElement, document.documentElement );
var element = document.elementFromPoint(50, 50);
var range = document.caretPositionFromPoint(clientX, clientY);
var div = document.createElement('div'); div.appendChild(document.createTextNode('<span>Foo & bar</span>')); console.log(div.innerHTML) // <span>Foo & bar</span>
var docfrag = document.createDocumentFragment(); [1, 2, 3, 4].forEach(function (e) { var li = document.createElement('li'); li.textContent = e; docfrag.appendChild(li); }); var element = document.getElementById('ul'); element.appendChild(docfrag);
上面代码中,文档片段docfrag包含四个<li>节点,这些子节点被一次性插入了当前文档。cookie
var event = document.createEvent('Event'); event.initEvent('build', true, true); document.addEventListener('build', function (e) { console.log(e.type); // "build" }, false); document.dispatchEvent(event);
// 添加事件监听函数 document.addEventListener('click', listener, false); // 移除事件监听函数 document.removeEventListener('click', listener, false); // 触发事件 var event = new Event('click'); document.dispatchEvent(event);
var iframe = document.getElementsByTagName('iframe')[0]; var oldNode = iframe.contentWindow.document.getElementById('myNode'); var newNode = document.importNode(oldNode, true); document.getElementById("container").appendChild(newNode);
上面代码从 iframe 窗口,拷贝一个指定节点 myNode,插入当前文档app