【JavaScript之DOM与BOM及其区别与用法】

DOM(文档对象模型)

什么是DOM?

DOM是文档对象模型(Document Object Model)的缩写。它是一种用于表示网页文档结构的模型,将整个网页视为一个树状结构,每个HTML元素都是树中的节点。DOM允许开发者通过JavaScript等脚本语言来访问、修改和操作网页的内容和结构。

DOM的操作

选取元素

要在DOM中选择元素,通常使用document对象的方法,如querySelector()querySelectorAll()

const header = document.querySelector('header'); // 选择头部元素
const paragraphs = document.querySelectorAll('p'); // 选择所有段落元素
修改内容

一旦我们选择了元素,可以使用DOM来修改其内容。

const paragraph = document.querySelector('p');
paragraph.textContent = '新的文本内容'; // 修改文本内容
操作属性

可以使用DOM来读取或修改元素的属性。

const image = document.querySelector('img');
const src = image.getAttribute('src'); // 读取属性值

const link = document.querySelector('a');
link.setAttribute('href', 'https://www.example.com'); // 修改属性值
添加和移除元素

使用DOM可以动态添加和移除元素。

const newParagraph = document.createElement('p'); // 创建新段落元素
newParagraph.textContent = '新段落';
document.body.appendChild(newParagraph); // 将新段落添加到文档中

const elementToRemove = document.querySelector('.remove-me');
elementToRemove.remove(); // 从文档中移除元素
事件处理

DOM允许为元素添加事件监听器,以响应用户的交互。

const button = document.querySelector('button');

function handleClick() {
  alert('按钮被点击了!');
}

button.addEventListener('click', handleClick);

BOM(浏览器对象模型)

什么是BOM?

BOM是浏览器对象模型(Browser Object Model)的缩写。它提供了与浏览器窗口和浏览器本身进行交互的接口,用于控制浏览器的行为。

BOM的操作

窗口属性
  • window.location:用于获取或设置当前浏览器窗口的URL。
  • window.open():用于打开新的浏览器窗口或标签页,并加载指定的URL。
  • window.close():用于关闭当前浏览器窗口。
窗口尺寸和滚动
  • window.innerWidthwindow.innerHeight:用于获取浏览器窗口的内部宽度和高度。
  • window.scrollXwindow.scrollY:用于获取浏览器窗口当前的水平滚动位置和垂直滚动位置。
浏览器历史
  • window.history.back()window.history.forward():用于在浏览器历史记录中后退和前进。
定时器
  • window.setTimeout()window.setInterval():用于设置定时器,执行函数或代码块在一定时间后或以一定间隔重复执行。
弹窗和对话框
  • window.alert()window.confirm()window.prompt():用于显示弹窗和对话框与用户交互。

location 对象

location 对象允许您获取和操作浏览器的当前URL。

  • location.href:获取或设置当前浏览器窗口的完整URL。
  • location.hostname:获取主机名部分(域名)。
  • location.port:获取端口号(如果有)。
  • location.protocol:获取当前URL的协议部分。
  • location.pathname:获取当前URL的路径部分。
  • location.search:获取当前URL的查询字符串部分。
  • location.hash:获取当前URL的哈希部分,包括 “#” 符号。
  • location.reload():重新加载当前页面。

navigator 对象

navigator 对象提供了有关用户浏览器和操作系统的信息,

  • navigator.userAgent:获取用户浏览器的用户代理信息。
  • navigator.platform:获取用户操作系统的名称。
  • navigator.language:获取用户浏览器的首选语言。
  • navigator.cookieEnabled:检查用户浏览器是否启用了Cookie。
  • navigator.geolocation:获取用户设备的地理位置信息。
  • navigator.onLine:检查用户设备是否连接到互联网。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

武帝为此

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值