2025-02-25 日报 Day108

2025-02-25 日报 Day108

Yuyang 前端小白🥬

今日的鸡汤

慢慢来,
好戏都在烟火里。

今日学习内容

1、JS 红皮书 P460-475 第十六章:DOM2和DOM3

今日笔记

1、DOM1(DOM Level 1)主要定义了 HTML 和 XML 文档的底层结构。DOM2(DOM Level 2)和DOM3(DOM Level 3)在这些结构之上加入更多交互能力,提供了更高级的 XML 特性。实际上,DOM2和 DOM3 是按照模块化的思路来制定标准的,每个模块之间有一定关联,但分别针对某个 DOM 子集。这些模式如下所示。
 DOM Core:在 DOM1 核心部分的基础上,为节点增加方法和属性。
 DOM Views:定义基于样式信息的不同视图。
 DOM Events:定义通过事件实现 DOM 文档交互。
 DOM Style:定义以编程方式访问和修改 CSS 样式的接口。
 DOM Traversal and Range:新增遍历 DOM 文档及选择文档内容的接口。
 DOM HTML:在 DOM1 HTML 部分的基础上,增加属性、方法和新接口。
 DOM Mutation Observers:定义基于 DOM 变化触发回调的接口。这个模块是 DOM4 级模块,用于取代 Mutation Events。

2、XML命名空间:
在节点使用命名空间前缀的情况下,nodeName 等于 prefix + “:” + localName。比如下面这个例子:

1
2
3
4
5
6
7
8
9
10
11
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head>
<title>Example XHTML page</title>
</head>
<body>
<s:svg xmlns:s="http://www.w3.org/2000/svg" version="1.1"
viewBox="0 0 100 100" style="width:100%; height:100%">
<s:rect x="0" y="0" width="100" height="100" style="fill:red" />
</s:svg>
</body>
</html>

其中的元素的 localName 和 tagName 都是”html”,namespaceURL 是”http://www.w3.org/1999/xhtml",而 prefix 是 null。对于<s:svg>元素,localName 是”svg”,tagName 是”s:svg”,namespaceURI 是”https://www.w3.org/2000/svg",而 prefix 是”s”。
DOM2 HTML 给 HTMLIFrameElement(即