JS——BOM、DOM

本文深入解析了浏览器对象模型(BOM)和文档对象模型(DOM)的核心概念及应用,涵盖了window、history、location、screen对象的属性和方法,以及DOM对HTML元素的访问、操作和动态修改技术。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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元素
两种方式:
  1. 根据ID访问:document.getElementById(id)方法
  2. 利用节点关系访问:常用属性和方法如下表
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索引处的单元格

转载于:https://www.cnblogs.com/lijuanhu321/p/8944094.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值