JavaScript学习笔记(四) BOM 与 DOM

简介: JavaScript学习笔记(四) BOM 与 DOM

这篇文章我们将会简单的介绍 BOM 和 DOM 常用的属性与方法,权且当作是一篇速查手册吧


一、浏览器对象模型


浏览器对象模型(Browser Object Model,BOM)使 JavaScript 可以与浏览器进行交互


1、Window


window 对象表示浏览器窗口,全局变量是 window 对象的属性,全局函数是 window 对象的方法


(1)属性


  • name:窗口的名称
  • closed:窗口是否已被关闭
  • self:对当前窗口的引用
  • parent:对父窗口的引用
  • opener:对创建当前窗口的窗口的引用
  • document:对 Document 对象的只读引用
  • screen:对 Screen 对象的只读引用
  • location:对 Location 对象的只读引用
  • history:对 History 对象的只读引用
  • navigator:对 Navigator 对象的只读引用
  • innerHeight:浏览器窗口的内部高度(文档显示区的高度)
  • innerWidth:浏览器窗口的内部宽度(文档显示区的宽度)
  • outerheight:浏览器窗口的外部高度
  • outerwidth:浏览器窗口的外部宽度


(2)方法


  • open():打开新窗口
  • close():关闭当前窗口
  • moveTo():把窗口的左上角移动到指定的坐标
  • moveBy():按照指定的像素移动窗口的位置
  • resizeTo():把窗口的大小调整到指定的宽度和高度
  • resizeBy():按照指定的像素调整窗口的大小
  • scrollTo():把内容滚动到指定的坐标
  • scrollBy():按照指定的像素滚动内容
  • alert():创建警告框,用于确保用户可以得到某些信息
  • confirm():创建确认框,用于确保用户可以得到或验证某些信息
  • prompt():创建提示框,用于提示用户在进入页面前输入某个值
  • setInterval():按照指定的周期来调用函数或计算表达式
  • clearInterval():取消由 setInterval() 设置的 interval
  • setTimeout():按照指定的时间来调用函数或计算表达式
  • clearTimeout():取消由 setTimeout() 方法设置的 timeout
  • focus():把键盘焦点给予一个窗口
  • blur():把键盘焦点从顶层窗口移开


2、Window Screen


window.screen 对象(可以简写为 screen 对象)包含屏幕的信息


(1)属性


  • width:显示器屏幕的宽度
  • height:显示器屏幕的高度
  • availWidth:显示器屏幕的可用宽度
  • availHeight:显示器屏幕的可用高度
  • colorDepth:调色板的比特深度
  • pixelDepth:屏幕的颜色分辨率
  • updateInterval:屏幕的刷新率
  • deviceXDPI:显示屏幕的每英寸水平点数
  • deviceYDPI:显示屏幕的每英寸垂直点数
  • logicalXDPI:显示屏幕每英寸的水平方向的常规点数
  • logicalYDPI:显示屏幕每英寸的垂直方向的常规点数


3、Window Location


window.location 对象(可以简写为 location 对象)包含 URL 的信息


(1)属性


  • href:当前页面的 URL
  • protocol:当前 URL 的协议
  • host:当前 URL 的主机名 和 端口号
  • hostname:当前 URL 的主机名
  • port:当前 URL 的端口号
  • pathname:当前 URL 的路径
  • search:从问号(?)开始的 URL(查询部分)
  • hash:从井号(#)开始的 URL(锚点部分)

(2)方法


  • reload():重新加载当前文档
  • assign():加载一个新的文档
  • replace():用新的文档替换当前文档

4、Window History


window.history 对象(可以简写为 history 对象)包含浏览器的历史


(1)属性


  • length:浏览器历史列表中的 URL 数量


(2)方法


  • back():加载 history 列表中的前一个 URL
  • forward():加载 history 列表中的下一个 URL
  • go():加载 history 列表中指定的 URL


5、Window Navigator


window.navigator 对象(可以简写为 navigator 对象)包含有关访问者浏览器的信息


(1)属性


  • appCodeName:浏览器的代码名
  • appName:浏览器的名称
  • appVersion:浏览器的版本
  • appMinorVersion:浏览器的次级版本
  • browserLanguage:浏览器的语言
  • cpuClass:浏览器的 CPU 等级
  • cookieEnabled:浏览器是否启用 cookie
  • userAgent:User-Agent Header
  • onLine:系统是否处于脱机模式
  • platform:运行浏览器的操作系统平台
  • systemLanguage:操作系统平台使用的默认语言
  • userLanguage:操作系统平台的自然语言设置

二、文档对象模型


文档对象模型(Document Object Model,DOM)使 JavaScript 可以访问和操作 HTML 文档


1、Document


每个载入浏览器的 HTML 文档都会成为 Document 对象


注意:Document 对象是 Window 对象的一部分,可通过 window.document 属性对其进行访问

(1)属性


  • body:当前文档的 <body> 元素
  • title:当前文档的标题
  • cookie:与当前文档有关的所有 cookie
  • domain:当前文档的域名
  • URL:当前文档的 URL
  • referrer:载入当前文档的文档的 URL
  • lastModified:当前文档最后修改的时间

(2)方法


  • write():向文档写 HTML 表达式 或 JavaScript 代码
  • writeln():向文档写 HTML 表达式 或 JavaScript 代码,并在每个表达式后添加一个换行符
  • getElementById():返回带有指定 ID 的节点
  • getElementsByTagName():返回带有指定标签名称的节点列表
  • getElementsByClassName():返回带有指定类名的节点列表


2、Element


Element 对象表示 HTML 元素


(1)属性


  • nodeName:规定节点名称,只读

nodeName
元素节点 与标签名相同
属性节点 与属性名相同
文本节点 #text
文档节点 #document


  • nodeValue:规定节点的值


nodeValue
元素节点 undefined 或 null
属性节点 属性值
文本节点 文本本身


  • nodeType:规定节点类型,只读


nodeType
元素节点 1
属性节点 2
文本节点 3
注释节点 8
文档节点 9


  • innerHTML:元素的内容
  • id:元素的 id 属性
  • title:元素的 title 属性
  • style:元素的 style 属性
  • className:元素的 class 名称
  • tagName:元素的 tag 名称
  • attributes:元素属性的 NamedNodeMap(元素属性节点的无序集合)
  • ownerDocument:元素的根元素(文档对象)
  • parentNode:元素的父元素
  • firstChild:元素的第一个子元素
  • lastChild:元素的最后一个子元素
  • nextSibling:元素的后一个相邻兄弟元素
  • previousSibling:元素的前一个相邻兄弟元素
  • childNodes:元素子节点的 NodeList
  • clientHeight:元素的可见高度(padding + height)
  • clientWidth:元素的可见宽度(padding + width)
  • offsetHeight:元素的高度(padding + height + border)
  • offsetWidth:元素的宽度(padding + width + border)
  • offsetLeft:元素的水平偏移位置(该元素左外边距到包含元素左内边距之间的距离)
  • offsetTop:元素的垂直偏移位置(该元素上外边距到包含元素上内边距之间的距离)
  • offsetParent:元素的偏移容器
  • tabIndex:元素的 tab 键控制次序
  • accessKey:元素的快捷键


(2)方法


  • cloneNode():克隆节点
  • appendChild():添加子节点
  • removeChild():移除子节点
  • replaceChild():替换子节点
  • insertBefore():插入新节点
  • hasChildNodes():元素是否拥有子节点
  • normalize():合并元素中相邻的文本节点,并移除空的文本节点
  • hasAttribute():元素是否拥有指定属性
  • hasAttributes():元素是否拥有属性
  • getAttribute():返回元素的属性值
  • setAttribute():设置元素的属性值
  • removeAttribute():移除元素的属性
  • getAttributeNode():返回指定的属性节点
  • setAttributeNode():设置指定的属性节点
  • removeAttributeNode():移除指定的属性节点,并返回被移除的节点
  • isDefaultNamespace():检查 namespaceURI 是否为默认的
  • isEqualNode():检查两个元素是否相等
  • isSameNode():检查两个元素是否为相同节点
  • isSupported():检查元素是否支持某一特性
  • toString():把元素转换为字符串


3、Attribute


Attribute 对象表示 HTML 元素的属性


(1)属性


  • name:属性名称
  • value:属性值
  • length:NamedNodeMap 中的节点数
  • isId:属性是否为 id 类型
  • specified:属性是否为 已指定


(2)方法


  • item():NamedNodeMap 中位于指定下标的节点
  • getNamedItem():获取指定的属性节点
  • setNamedItem():设置指定的属性节点
  • removeNamedItem():移除指定的属性节点


4、Event


Event 对象表示事件的状态,通常与函数结合使用


(1)事件句柄


  • onclick:鼠标点击
  • ondblclick:鼠标双击
  • onmousedown:鼠标按键被按下
  • onmouseup:鼠标按键被松开
  • onmousemove:鼠标被移动
  • onmouseout:鼠标从某元素移开
  • onmouseover:鼠标移到某元素上
  • onkeydown:键盘按键被按下
  • onkeyup:键盘的键被松开
  • onkeypress:键盘按键被按下或按住
  • onload:加载文档或图像
  • onunload:退出页面
  • onerror:加载文档或图像时发生错误
  • onabort:加载图像时被中断
  • onfocus:获得焦点
  • onblur:失去焦点
  • onselect:文本被选定
  • onsubmit:提交按钮被点击
  • onchange:用户改变域的内容
  • onreset:重置按钮被点击
  • onresize:窗口或框架被调整尺寸


(2)鼠标 / 键盘属性


  • button:当事件被触发时,鼠标的哪个按钮被点击
  • clientX:当事件被触发时,鼠标指针相对于浏览器页面的水平坐标
  • clientY:当事件被触发时,鼠标指针相对于浏览器页面的垂直坐标
  • screenX:当事件被触发时,鼠标指针相对于屏幕的水平坐标
  • screenY:当事件被触发时,鼠标指针相对于屏幕的垂直坐标
  • ctrlKey:当事件被触发时,“CTRL” 键是否被按下
  • altKey:当事件被触发时,“ALT” 键是否被按下
  • shiftKey:当事件被触发时,“SHIFT” 键是否被按下
  • metaKey:当事件被触发时,“meta” 键是否被按下


(3)标准属性


  • bubbles:事件是否为冒泡事件类型
  • cancelable:事件是否可取消默认动作
  • currentTarget:返回其事件监听器触发此事件的元素
  • target:返回触发此事件的元素
  • eventPhase:返回事件传播的当前阶段
  • timeStamp:返回事件生成的时间
  • type:返回事件的名称


(4)标准方法


  • initEvent():初始化属性
  • preventDefault():不再执行默认动作
  • stopPropagation():不再派发事件

目录
相关文章
|
6天前
|
XML JavaScript 前端开发
web学习笔记(二十二)DOM开始
web学习笔记(二十二)DOM开始
10 0
|
11天前
|
XML JavaScript 前端开发
JavaScript简介&引入方式(JavaScript基础语法、JavaScript对象、BOM、DOM、事件监听)
JavaScript简介&引入方式(JavaScript基础语法、JavaScript对象、BOM、DOM、事件监听)
13 2
|
11天前
|
JavaScript Java
JavaSE精选-JS&DOM
JavaSE精选-JS&DOM
17 1
|
12天前
|
JavaScript Java
JS&DOM技术文章
JS&DOM技术文章
|
12天前
|
前端开发 JavaScript
HTML DOM如何通过JavaScript动态改变元素的CSS样式?
【5月更文挑战第23天】HTML DOM如何通过JavaScript动态改变元素的CSS样式?
20 1
|
20天前
|
JavaScript 前端开发
JavaScript 提供了多种方法来操作 DOM(文档对象模型)
【5月更文挑战第11天】JavaScript 用于DOM操作的方法包括获取元素(getElementById, getElementsByClassName等)、修改内容(innerHTML, innerText, textContent)、改变属性、添加/删除元素(appendChild, removeChild)和调整样式。此外,addEventListener用于监听事件。注意要考虑兼容性和性能当使用这些技术。
16 2
|
JavaScript 前端开发 Go
JavaScript系列--BOM(二)
JavaScript系列--BOM(二)
132 0
|
JavaScript 前端开发 API
JavaScript系列--BOM(一)
JavaScript系列--BOM(一)
87 0
|
3天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的无纸化学习平台附带文章和源代码设计说明文档ppt
基于ssm+vue.js+uniapp小程序的无纸化学习平台附带文章和源代码设计说明文档ppt
8 2
|
4天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的初小教育课外学习生活活动平台附带文章和源代码设计说明文档ppt
基于ssm+vue.js+uniapp小程序的初小教育课外学习生活活动平台附带文章和源代码设计说明文档ppt
7 1