JS学习日记(webAPI—DOM)

前言

接下来,我们正式进入了JS的正片,没想到一转眼更新这么多了,最开始写这些是为了回顾自己学习的知识,也为了供各位想学习的人提供便利,总之,感谢各位的关注和喜爱,我会继续努力更新的!今天的内容是对webAPI的一些简单介绍,喜欢就点赞关注吧,欢迎在评论区讨论学习

什么是webAPI

JavaScript Web APIs 是一组由浏览器提供的接口,允许开发者使用 JavaScript 与浏览器和用户设备进行交互。这些 API 提供了对浏览器功能(如 DOM 操作、事件处理、HTTP 请求等)的访问,使得开发者能够创建动态和交互式的网页应用。

DOM

DOM (Document Object Model) API,DOM API 允许 JavaScript 访问和操作网页的文档结构。通过 DOM API,开发者可以创建、修改和删除 HTML 元素和属性,以及响应用户事件,是JavaScript里非常重要的API

JavaScript 复制代码
// 获取元素
const element = document.getElementById('myElement');

// 修改内容
element.textContent = 'Hello, World!';

// 添加事件监听器
element.addEventListener('click', () => {
  alert('Element clicked!');
});

简单来说DOM就是让你通过js的方式操控浏览器内容(比如监听事件,这就是DOM能做到的,很多网页特效都是用DOM做的)

DOM树

DOM树(Document Object Model Tree)是浏览器用来表示和操作HTML或XML文档的树形数据结构。DOM树将文档的每个元素、属性、文本片段等表示为一个节点(Node),这些节点按照文档的层级结构组织成树形结构。

DOM树的结构

1.文档节点(Document Node):树的根节点,代表整个文档。

2.元素节点(Element Node):代表HTML或XML文档中的元素,如"body"、"div"、"p"等。

3.属性节点(Attribute Node):代表元素节点的属性,如id、class、href等。

4.文本节点(Text Node):代表元素节点中的文本内容。

代码对比

go 复制代码
<!DOCTYPE html>
<html>
<head>
    <title>Sample Page</title>
</head>
<body>
    <h1>Hello, World!</h1>
    <p>This is a <a href="#">sample</a> page.</p>
</body>
</html>

DOM树里

go 复制代码
Document
│
├── html
│   ├── head
│   │   └── title
│   │       └── "Sample Page"
│   └── body
│       ├── h1
│       │   └── "Hello, World!"
│       └── p
│           ├── "This is a "
│           ├── a
│           │   ├── href="#"
│           │   └── "sample"
│           └── " page."

总结

今天的笔记就到这了,喜欢就点赞关注吧

相关推荐
Mr_Xuhhh32 分钟前
递归搜索与回溯算法
c语言·开发语言·c++·算法·github
文军的烹饪实验室33 分钟前
ValueError: Circular reference detected
开发语言·前端·javascript
B20080116刘实37 分钟前
CTF攻防世界小白刷题自学笔记13
开发语言·笔记·web安全·网络安全·php
Qter_Sean2 小时前
自己动手写Qt Creator插件
开发语言·qt
xiaoyaolangwj2 小时前
高翔【自动驾驶与机器人中的SLAM技术】学习笔记(十三)图优化SLAM的本质
学习·机器人·自动驾驶
Martin -Tang2 小时前
vite和webpack的区别
前端·webpack·node.js·vite
迷途小码农零零发2 小时前
解锁微前端的优秀库
前端
何曾参静谧2 小时前
「QT」文件类 之 QIODevice 输入输出设备类
开发语言·qt
王解2 小时前
webpack loader全解析,从入门到精通(10)
前端·webpack·node.js
老码沉思录2 小时前
写给初学者的React Native 全栈开发实战班
javascript·react native·react.js