HTML DOM 知识点整理(一)—— Document对象
一、DOM对象
DOM对象整体包括:
- HTML DOM Document对象
- HTML DOM 元素对象
- HTML DOM 属性对象
- HTML DOM 事件对象
- HTML DOM Console 对象
- CSS Style Declaration 对象
二、 Document对象详解
HTML DOM Document对象
document对象是HTML文档的根节点,可以使我们从脚本中对HTML页面中的所有元素进行访问。
提示:Document 对象是 Window 对象的一部分,可通过 window.document 属性对其进行访问。
三、Document对象的属性和方法:
1.document.activeElement 属性
var x = document.activeElement.tagName;
console.log(x);
//BUTTON
提示: 为元素设置焦点,可以使用 element.focus() 方法。
function getfocus() {
document.getElementById("myAnchor").focus();
}
function losefocus() {
document.getElementById("myAnchor").blur();
}
提示:可以使用 document.hasFocus() 方法来查看当前元素是否获取焦点。hasFocus() 方法返回布尔值,用于检测文档(或文档内的任一元素)是否获取焦点。
2.document.addEventListener(event, function, useCapture) 方法
参数值:
| 参数 | 描述 |
| event |
必需。描述事件名称的字符串。 注意:不要使用“on”前缀。例如,使用“click”来取代“onclick”。 |
| function | 必需。描述了事件触发后执行的函数。 |
| useCapture |
可选。布尔值,指定事件是否在捕获或冒泡阶段执行。 可能值:
|
document.addEventListener() 方法用于向文档添加事件句柄,因为是2级DOM,因此可以多次添加。
document.addEventListener("mouseover", myFunction);
document.addEventListener("click", someOtherFunction);
document.addEventListener("mouseout", someOtherFunction);
跨浏览器解决办法:
如果浏览器不支持 addEventListener() 方法, 你可以使用 attachEvent() 方法替代。
if (document.addEventListener) { //所有主流浏览器,除了 IE 8 及更早 IE版本
document.addEventListener("click", myFunction);
} else if (document.attachEvent) { // IE 8 及更早 IE 版本
document.attachEvent("onclick", myFunction);
}
提示: 可以使用 document.removeEventListener() 方法来移除 addEventListener() 方法添加的事件句柄。
提示:使用 element.addEventListener() 方法为指定元素添加事件句柄。
// 向 <div> 元素添加事件句柄
document.getElementById("myDIV").addEventListener("mousemove", myFunction); // 移除 <div> 元素的事件句柄
document.getElementById("myDIV").removeEventListener("mousemove", myFunction);
3.document.adoptNode(node) 方法 (3级DOM元素)
| 参数 | 类型 | 描述 |
|---|---|---|
| node | Node 对象 | 必须。另外一个文档的节点,可以是任何节点类型。 |
adoptNode() 方法用于从另外一个文档中获取一个节点。
节点可以是任何节点类型。
var frame = document.getElementsByTagName("IFRAME")[0]
var h = frame.contentWindow.document.getElementsByTagName("H1")[0];
var x = document.adoptNode(h);
注意: 节点下的所有子节点都会获取到。
注意: 节点及其子节点会再源文档中删除。
提示: 使用 document.importNode() 方法来拷贝节点,但原文档中的节点不删除。.
提示: 使用 element.cloneNode() 方法来拷贝当前文档的节点,且节点不会被删除。
—— 待续 ——
HTML DOM 知识点整理(一)—— Document对象的更多相关文章
- 报表软件JS开发引用HTML DOM的location和document对象
上一次提到,在报表软件FineReport的JavaScript开发中,可以访问并处理的HTML DOM对象有windows.location.document三种.这次就继续介绍后两种,locati ...
- JS开发引用HTML DOM的location和document对象
上一次提到,在报表软件FineReport的JavaScript开发中,可以访问并处理的HTML DOM对象有windows.location.document三种.这次就继续介绍后两种,locati ...
- JavaScript的DOM操作。Window.document对象
间隔执行一段代码:window.setlnteval("需要执行的代码",间隔毫秒数) 例 : window.setlnteval("alert("你 ...
- DOM操作(Window.document对象)
间隔与延迟: 间隔一段代码: window.setInterval("代码",间隔执行秒数) 延迟一段时间后执行一段代码: window.setTimeout("执行代码 ...
- Javascript学习8 - 脚本化文档(Document对象)
原文:Javascript学习8 - 脚本化文档(Document对象) 每个Web浏览器窗口(或帧)显示一个HTML文档,表示这个窗口的Window对象有一个document属性,它引用了一个Doc ...
- dom对象详解--document对象(一)
document对象 Document对象代表整个html文档,可用来访问页面中的所有元素,是最复杂的一个dom对象,可以说是学习好dom编程的关键所在. Document对象是window对象的一 ...
- JavaScript -- 时光流逝(十一):DOM -- Document 对象
JavaScript -- 知识点回顾篇(十一):DOM -- Document 对象 (1) document.activeElement: 返回文档中当前获得焦点的元素. <!doctype ...
- HTML DOM Document 对象
HTML DOM Document 对象 HTML DOM 节点 在 HTML DOM (Document Object Model) 中 , 每一个元素都是 节点: 文档是一个文档. 所有的HTML ...
- 【使用 DOM】使用 Document 对象
Document 对象时通往DOM功能的入口,它向你提供了当前文档的信息,以及一组可供探索.导航.搜索或操作结构与内容的功能. 我们通过全局变量document访问Document对象,它是浏览器为我 ...
随机推荐
- JAVA虚拟机体系结构JAVA虚拟机的生命周期
一个运行时的Java虚拟机实例的天职是:负责运行一个java程序.当启动一个Java程序时,一个虚拟机实例也就诞生了.当该程序关闭退出,这个虚拟机实例也就随之消亡.如果同一台计算机上同时运行三个Jav ...
- tomcat设置默认欢迎页、server.xml配置文件中的标签理解
一:要求:输入网址,不加文件名便可以访问默认页面 (1)项目中只有静态文件 方法:更改tomcat下的conf目录下的web.xml文件,如下图: <welcom-file-list>元素 ...
- pythonweb框架Flask学习笔记05-简单登陆
源代码从下链接引用:https://www.cnblogs.com/felixwang2/p/9261493.html 我使用的是python3.6 在运行代码的时候遇到了以下问题 session[' ...
- python连接mysql数据库简单例子
今天用pyhton2连接本地的mysql数据库,总的来说比较简单,但还是遇到一些小问题 代码如下: # -*- coding: utf-8 -*- import os import MySQLdb i ...
- Centos配置vsftpd
#安装vsftpdyum install vsftpd #限制用户只能访问配置的目录,不能访问其他路径#修改vi /etc/vsftpd/vsftpd.conf chroot_list_enable= ...
- 推荐一个 MYSQL 的命令行的客户端 MYCLI
MYCLI 是一个 MySQL 命令行客户端工具 , 可以实现自动补全(auto-completion)和语法高亮,平时测试环境维护一些数据还是蛮方便的. https://github.com/dbc ...
- .NET Framework 源码查看与调试
1. 直接下载.NET Framework源代码(下载地址),然后用Visual Studio 13 打开查看.2. 在线查看,网址:http://referencesource.microsoft. ...
- Maven 的基本配置与使用
什么是Maven Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具. 发文时,绝大多数开发人员都把 Ant 当作 Java 编程项目的标准构 ...
- JavaScript -- Anchor
-----052-Anchor.html----- <!DOCTYPE html> <html> <head> <meta http-equiv=" ...
- print默认在末尾添加一个换行符,但其实也可以不用!
白月黑羽今天给大家分享另外一个冷知识:) python中 print函数打印信息时默认添加一个换行符,所以你看到一条print语句,则单独占一行,那是否可以不要换行符呢? 答案是肯定的,当然可以,可用 ...