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."

总结

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

相关推荐
Larcher1 小时前
React Router 不只是页面跳转:从 SPA 路由到权限守卫的完整实践
javascript·后端
Larcher1 小时前
大模型为什么每次回答都不一样?一文搞懂 Temperature、Top K 与 Top P
javascript·后端
名字还没想好☜3 小时前
Python f-string 进阶:数字格式化、对齐填充、调试 = 号与嵌套表达式
开发语言·数据库·python·字符串格式化·f-string
用户938515635074 小时前
从零在浏览器里跑 DeepSeek-R1:WebGPU + Transformer.js 全链路实战
前端·设计模式·typescript
CodeSheep4 小时前
稚晖君公司人事大变动,来了!
前端·后端·程序员
鱼樱前端5 小时前
用 AI 做内容变收入
前端·人工智能·ai编程
eric-sjq5 小时前
10 分钟实战:用 0.6B 本地模型生成中文网页(WanlyFrontend + 编译器全流程)
javascript·机器学习·自然语言处理·html
浮生望5 小时前
React + TypeScript 组件设计进阶:从类型约束到无状态组件的三次进化
前端
To_OC5 小时前
LC 438 找到所有字母异位词:暴力超时后,我靠滑动窗口一招搞定
javascript·算法·leetcode
90后的晨仔5 小时前
Mac 开发 uni-app 终极方案:让安卓模拟器彻底脱离 Android Studio 独立运行
前端·vue.js