JS——BOM、DOM
BOM、DOM
BOM
BOM模型中常用对象
BOM(Browser Object Model)浏览器对象模型,提供了一系列对象用于和浏览器窗口进行交互,这些对象主要包括window、document、location、navigator和screen。
A. window对象
1.window对象的常用属性
window对象是整个JavaScript脚本运行的顶层对象,它的常用属性有:
document | 返回该窗口内装载的HTML文档 |
location | 返回该窗口装载的HTML文档的URL |
navigator | 返回浏览当前页面的浏览器,包含一系列浏览器属性(名称、版本号、平台等)。 |
screen | 返回当前者屏幕对象 |
history | 返回该浏览器窗口的历史 |
注:这些属性都属于window对象的自对象,每个子对象内部也提供了各自的属性和方法,来进行对浏览器的操作。
2.window对象的常用方法
alert()、confirm()、prompt() | 分别用于弹出警告窗口,确认对话框和提示输入对话框 |
close() | 关闭窗口 |
moveBy()、moveTo() | 移动窗口 |
resizeBy()、resizeTo() | 重设窗口大小 |
scrollBy()、scrollTo() | 滚动当前窗口的HTML文档 |
open(url,name,property) | 打开一个新窗口加载新URL所指向的地址,并可指定新属性 |
setInterval()、clearInterval() | 设置,删除定时器 |
注:moveBy()、moveTo()、resizeBy()、resizeTo()谷歌火狐浏览器不兼容。open方法中property对于不同浏览器有兼容问题。
B. history对象
history对象常用方法
back() | 后退到上一个浏览的页面。该页面为第一个打开时,无效 |
forward() | 前进到上一个浏览的页面。该页面为第一个打开时,无效 |
go(intValue) | 指定前进或后退多少页面。正前进,负后退 |
例如:go(-1)=back(),go(1)=forward()
C. location对象
location对象常用属性
hostname | 文档所在地址的主机名 |
href | 文档所在地址的URL地址 |
host | 文档所在地址的主机地址 |
port | 文档所在地址的服务端口 |
pathname | 文档所在地址的文件地址 |
protocol | 装载文档所使用的协议,如HTTP |
D. screen对象
screen对象常用属性
availHeight | 窗口可以使用的屏幕高度,单位px |
availWidth | 窗口可以使用的屏幕宽度,单位px |
colorDepth | 用户浏览器表示的颜色位数,通常为32位(每像素的位数) |
E. navigator对象
navigator常用属性
appCodeName | 浏览器代码名的字符串表示 |
appName | 官方浏览器名的字符串表示 |
appVersion | 浏览器版本信息的字符串表示 |
platform | 浏览器所在计算机平台的字符串表示 |
userAgent | 用户代理头的字符串表示 |
cookieEnabled | 启用cookie,返回true。否则返回false |
DOM
DOM(Document Object Model,文档对象模型),是表示文档(如HTML文档)和访问、操作构成文档的各种元素(如HTML标记和文本串)的应用程序接口(API)。它提供了文档中独立元素的结构化、面向对象的表示方法,并允许通过对象的属性和方法访问这些对象。另外,文档对象模型还提供了添加和删除文档对象的方法,这样能够创建动态的文档内容。
DOM对HTML元素访问操作
A. HTML DOM树
小结:简单来说DOM并不是一种技术,而是一种访问结构化文档的一种思想。借助DOM模型,我们可以对DOM树进行修改、删除、新增等操作,让结构化文档动态化。
B. DOM模型中的节点
DOM模型中的节点---文档可以说是由节点构成的集合。在DOM模型中有以下三种节点
- 元素节点:各种标签就是这些元素节点的名称,例<p>,<ul>
- 文本节点:文本节点总是被包含在元素节点的内部。
- 属性节点:一般用来修饰元素节点
例:<a title="JS" href="http://www.baidu.com" >百度</a>
C. DOM访问HTML元素
- 根据ID访问:document.getElementById(id)方法
- 利用节点关系访问:常用属性和方法如下表
parentNode | 返回当前节点的父节点 |
previousSibling | 返回当前节点的前一个兄弟节点 |
nextSibling | 返回当前节点的后一个兄弟节点 |
childNodes | 返回当前节点的所有子节点 |
firstChild | 返回当前节点的第一个子节点 |
lastChild | 返回当前节点的最后一个子节点 |
getElementByTagName(tagName) | 返回当前节点的具有指定标签名的所有子节点 |
注:回车也是一个节点。
D. DOM访问表单控件
常用属性和方法
action | 返回表单的提交地址 |
elements | 返回表单控件所组成的数组,通过数组可当问表单内任何表单控件 |
length | 返回表单内表单域的个数 |
method | 返回表单内method属性,主要由get和post两个值 |
target | 确定提交表单内的结果窗口,主要由_self、_blank、_top等 |
reset()、subrit() | 重置表单和确定表单方法 |
在elements返回的数组中访问具体的表单控件语法
.elements[index] | 返回该表单中第index个表单控件 |
.elements[elementName] | 返回该表单内id或name为elementName的表单控件 |
.elementName | 返回该表单内id或name为elementName的表单控件 |
E. DOM访问列表框,下拉菜单
常用属性
form | 返回列表框,下拉菜单所在的表单对象 |
length | 返回列表框,下拉菜单选项个数 |
options | 返回列表框,下拉菜单所有选项组组成的数组 |
selectedIndex | 返回下拉列表中选中选项的索引 |
type | 返回下拉列表类型,多选返回select-multiple,单选返回select-one |
使用options[index]返回具体选项所对应的常用属性
defaultSelected | 返回该选型默认是否选中 |
index | 返回该选项在列表框,下拉菜单中的索引 |
selected | 返回该选项是否被选中 |
text | 返回该选项呈现的文本 |
value | 返回该选项value属性值 |
F. DOM访问表格子元素
常用属性和方法
caption | 返回表格的标题对象 |
rows | 返回表格的所有表格行 |
tbodies | 返回表格的所有tbody元素组成的数组 |
tfoot | 返回表格的tfoot元素 |
thead | 返回表格的thead元素 |
通过rows[index]返回表格指定的行所对应的属性
cells | 返回表格行内所有的单元格组成的数组 |
rowIndex | 返回表格行在表格内的索引值 |
sectionRowIndex | 返回表格行在其所在元素(tbody,thead)的索引值 |
通过cells[index]返回单元格在表格行内的索引值
cellsIndex | 返回该单元格在表格行内的索引值 |
DOM对HTML元素的增删改操作
A. DOM创建节点
document.createElement(Tag),Tag必须是合法的HTML元素
B. DOM复制节点
节点.clomeNode(boolean deep),deep为true时,复制当前节点及其全部后代节点,为false时,只复制当前节点。
C. DOM添加、删除节点
appendChild(newNode) | 将newNode添加称为当前节点的最后一个子节点 |
insertBefore(newNode,refNode) | 将refNode节点之前插入newNode节点 |
replaceChild(newNode,oldNode) | 将oldNode节点替换成newNode节点 |
removeChild(oldNode) | 将oldNode子节点删除 |
D. DOM创建列表框、下拉菜单选项
- document.createElement(Tag)
- 专门的构造器格式:new Option(text,value,defaultSelected,selected);
text | 该选项的文本,即该选项所呈现的内容 |
value | 所选选项的值 |
defaultSelected | 设置默认是否显示该选项 |
selected | 设置该选项当前是否被选中 |
注:4个参数可按顺序指明,如一个参数是text,两个参数是text,value。
E. DOM添加创建好的列表框、下拉菜单选项
直接为select元素的指定选项赋值
格式:列表框、下拉菜单对象.option[i]=创建好的option对象
F. DOM删除列表框、下拉菜单选项
- 直接使用列表框、下拉菜单对象.remove(index)方法
- 直接将指定选项赋值为null
格式:列表框或下拉菜单对象.remove(index)或对象.options[index]=null
G. DOM动态添加删除表格内容方法
insertRow(index) | 在指定索引位置插入一行 |
createCaption() | 为该表格创建标题 |
createTFoot() | 为该表格创建<tfoot.../>,加入已存在,返回现有的 |
createTHead() | 为该表格创建<thead.../>,加入已存在,返回现有的 |
deleteRowIndex() | 删除表格中index索引处的行 |
deleteCaption() | 删除表格标题 |
deleteTFoot() | 从表格删除tFoot元素及其内容 |
deleteTHead() | 从表格删除tHead元素及其内容 |
H. DOM创建删除表格单元格方法
insertCell(index) | 在index处创建一个单元格,返回新创建的单元格 |
seleteCell(index) | 删除某行index索引处的单元格 |
JS——BOM、DOM的更多相关文章
- JS中的函数、Bom、DOM及JS事件
本期博主给大家带来JS的函数.Bom.DOM操作,以及JS各种常用的数据类型的相关知识,同时,这也是JavaScript极其重要的部分,博主将详细介绍各种属性的用法和方法. 一.JS中的函数 [函数的 ...
- 从零开始的JS生活(二)——BOM、DOM与JS中的事件
上回书说道,JS中变量.运算符.分支结构.循环和嵌套循环等内容.本回就由本K给大伙唠唠JS中的BOM.DOM和事件. 一."花心大萝卜"--BOM 1.震惊,FFF团为何对BOM举 ...
- 前端(十六)—— JavaScript盒子模型、JS动画、DOM、BOM
JS盒子模型.JS动画.DOM.BOM 一.JS盒模型 1.width | height parseInt(getComputedStyle(ele, null).getPropertyValue(' ...
- JavaScript(核心、BOM、DOM)
http://www.flyne.org/article/407 JavaScript(核心.BOM.DOM) JavaScript是基于对象和事件驱动的客户端脚本语言.有如下特点: 交互性 安全性( ...
- 细看JS中的BOM、DOM对象
DOM对象模型 DOM(Document Object Model),是指文档对象模型,是W3C组织推荐的处理可扩展标志语言的 ...
- JS之BOM、DOM
一.BOM对象 1,window对象 所有浏览器都支持window对象,从概念上讲:一个HTML文档对应一个window对象,从功能上讲:控制浏览器窗口的,从使用上讲:window对象不需要创建对象, ...
- JavaScript学习总结(一)——ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
一.JavaScript简介 JavaScript是一种解释执行的脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型,它遵循ECMAScript标准.它的解释器被称为JavaScript引 ...
- js bom和dom
一, 前言 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM ...
- 前端javascript之BOM、DOM操作、事件
BOM与DOM操作 BOM 浏览器对象模型>>>:使用js操作浏览器 DOM 文档对象模型>>>:使用js操作前端页面 window对象 所有浏览器都支持 wind ...
随机推荐
- java连接ssh执行shell脚本
在liunx上写了一个shell脚本,想通过java去调用这个shell脚本,不知道怎么去调用,在网上说使用process这个进程方式,但是我执行机和我shell脚本都不在同一台电脑,老大说java中 ...
- 虚连接 tcp
由TCP 建立的连接叫做虚连接(virtual connection),这是因为它们是由软件实现的,底层的系统并不对连接提供硬件或软件支持,只是两台机器上的TCP 软件模块通过交换消息来实现逻辑...
- CoreData的学习
第一步:创建项目是勾选coredata,当然创建的时候没有勾选,之后还可以手动生产, 然后:创建数据库模型,及为其添加模型的属性. 然后生成模型文件: 注意⚠️:首先设置为Manual/None 不 ...
- 2018.8.2 Juint测试介绍及其命名的规范
JUnit - 测试框架 什么是 Junit 测试框架? JUnit 是一个回归测试框架,被开发者用于实施对应用程序的单元测试,加快程序编制速度,同时提高编码的质量.JUnit 测试框架能够轻松完成以 ...
- MAC os x 系统java开发环境搭建教程
https://jingyan.baidu.com/article/3d69c55147a3baf0cf02d7ca.html
- background-position设置
设置背景图片的位置:background-position:x y; 其中x和y可以为百分比也可以为像素
- ubuntu安装jdk6
我的ubuntu版本是12.04的64位的.由于ubuntu官方没有更新最新版的jdk6,所以我们只能主动去oracle公司网站去下载.网站地址:http://www.oracle.com/techn ...
- 11_1_GUI
11_1_GUI 1. AWT AWT(Abstract Window Toolkit)包括了很多类和接口,用于Java Application的GUI(Graphics User Interface ...
- windows 编译安卓iconv 库
由于NDK r15后,谷歌要统一将来的设备都要支持64位,而iconv只支持32位,后续的ndk都会去除iconv的支持,所以只能在iconv的官网下载源码编译库文件使用, 下载地址:https:// ...
- Github学生包的申请
Github Education为了大学生们更好的进行开发,进行边做边学,与一些合作伙伴和朋友一起创建GitHub学生开发者包. 里面内容非常丰富,应有尽有: AWS 亚马逊云服务 $75-$150 ...