JavaScript学习-DOM2和DOM3的变化

Unity3D Pico VR 手势交互实战:基于MRTK3实现抓握与射线控制 本文针对Pico VR原生手势交互功能不足的问题,提供了基于MRTK3实现高级手势交互的实战解决方案。通过将MRTK3成熟的交互框架与Pico的手势追踪能力相结合,详细讲解了从环境配置、SDK导入、核心适配到真机调试的全流程,帮助开发者高效实现抓握与射线控制等复杂交互,有效提升Pico VR应用的开发效率与体验。 阅读详情

1,介绍

  • DOM1级主要定义的是HTML和XML文档的底层结构。DOM2和DOM3级则在这个结构的基础上引入了更多的交互能力,也支持了更高级的XML特性。
  • DOM2和DOM3级分为许多模块(模块之间具有某种关联),分别描述了DOM的某个非常具体的子集。这些模块如下。
    这里写图片描述
  • DOM3级又增加了“XPath”模块和“加载与保存”(Load and Save)模块。
  • DOM2和3级的目的在于扩展DOM API,以满足操作XML的所有需求。
  • “DOM2级核心”没有引入新类型,它只是在DOM1级的基础上通过增加新方法和新属性来增强了既有类型。
  • “DOM3级核心”增强了既有类型,但也引入了一些新类型。
  • “DOM2级视图”和”DOM2级HTML”增强既有类型。
  • 可使用下列代码来确定浏览器是否支持这些DOM模块

    var supportsDOM2Core = document.implementation.hasFeature("Core","2.0");
    var supportsDOM3Core = document.implementation.hasFeature("Core","3.0");
    var supportsDOM2HTML = document.implementation.hasFeature("HTML","2.0");
    var supportsDOM2Views = document.implementation.hasFeature("Views","2.0");
    var supportsDOMXML = document.implementation.hasFeature("XML","2.0");

2,针对XML命名空间的变化

  • 从技术上说,HTML不支持XML命名空间,但XHTML支持XML命名空间。
  • 命名空间要使用xmlns特性来指定。XHTML的命名空间是http://ww.w3.org/1999/xhtml ,在任何格式良好的XHTML页面中,都应该将其包含在元素中,如下所示

    <html xmlns="http://ww.w3.org/1999/xhtml">
        <head>
            <title>Example XHTML page</title>
        </head>
        <body>
            Hello world!
        </body>
    </html>
  • 有时为了避免不同语言间的冲突,也需要使用命名空间来限定特性。如下所示

    <xhtml:html xmlns:xhtml="http://ww.w3.org/1999/xhtml">
        <xhtml:head>
            <xhtml:title>Example XHTML page</xhtml:title>
        </xhtml:head>
        <xhtml:body **xhtml:class="home">**
            Hello world!
        </xhtml:body>
    </xhtml:html>
  • 在混合使用两种语言的情况下,命名空间的用处非常大了,如下所示混合了XHTML和SVG语言的文档

    <html xmlns="http://ww.w3.org/1999/xhtml">
        <head>
            <title>Example SHTML page</title>
        </head>
        <body>
            <svg xmlns="http://ww.w3.org/2000/svg" version="1.1" viewBox="0 0 100 100" style="width:100%; height"100%">
                <rect x="0" y="0" width="100" height="100" style="fill:red"/>
            </svg>
        </body>
    </html>
  • 使用命名空间后DOM1级方法并没有提供相关的API,“DOM2级核心”提供了特定于命名空间的版本解决了这个问题。

    1. Node类型的变化

      • 在DOM2级中,Node类型包含下列特定于命名空间的属性。
      • 以下面文档为例

        <html xmlns="http://www.w3.org/1999/xhtml">
            <head>
                <title>Example XHTML page</title>
            </head>
            <body>
                <s:svg xmlns:s="http://ww.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>
      • 当节点使用了命名空间前缀时,nodeName等于prefix+”:”+localName。
      • 对于html元素来说,localName和tagName是“html”;namespaceURI是“http://ww.w3.org/1999/xhtml ” ;prefix是null。
      • 对于元素而言,它的localName是“svg”;tagName是“s:svg”;namespaeURI是“http://www.w3.org/2000/svg ”;prefix是“s”。
      • DOM3级再次基础上更进一步,又引入了下列与命名空间有关的方法。
        这里写图片描述
    2. Document类型的变化
      • 包含下列与命名空间有关的方法。
        这里写图片描述
    3. Element类型的变化
      • 新增方法如下
        这里写图片描述
    4. NamedNodeMap类型的变化
      • 这些方法只针对特性使用。
        这里写图片描述

3,其他方面的变化

  • 这些变化与XML命名空间无关,而是更倾向于确保API的可靠性及完整性。
  • DocumentType类型的变化

    • 新增了3个属性:publicId、systemId、和internalSubset。
    • 如下示例

      <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
      "http://www.w3.org/TR/xhtml11/DTD/xhtmll-strict.dtd"
      [<!ELEMENT name(#PCDATA)>] >
    • document.doctype.publicId是-//W3C//DTD XHTML 1.0 Strict//EN
    • document.doctype.systemId是http://www.w3.org/TR/xhtml11/DTD/xhtmll-strict.dtd
    • document.doctype.internalSubset是 <!ELEMENT name(#PCDATA)>
  • Document类型的变化

    • importNode()方法
      • 从一个文档中取得一个节点,导入另一个文档,成为另一个文档结构的一部分。
      • 参数接收两个:要复制的节点和一个表示是否复制子节点的布尔值。
      • 返回原来节点的副本。
    • “DOM2级视图”模块增加了一个名为defaultView的属性,指向拥有给定文档的窗口(或框架),除IE外所有浏览器都支持defaultView属性,IE支持一个等价的属性名parentWidow属性,要确定文档的归属窗口,可使用下列代码

      var parentWindow = document.defaultView || document.parentWindow;
    • “DOM2级核心”为document.implementation对象规定了两个方法:
      • createDocumentType()和
        • 创建一个新的DocumentType节点。
        • 接收3个参数:文档类型名称,publicId,systemId
      • createDocument()
        • 接收3个参数:针对文档中元素的namespaceURI,文档元素的标签名,新文档的文档类型。
    • “DOM2级HTML”也为document.implementation新增了一个方法,名叫createHTMLDocument()。这个方法的用途是创建一个完整的HTML文档,包括html,head,title,body元素,
      • 接受一个参数:文档的标题
  • Node类型的变化

    • isSupported()方法,与document.implementation引入的hasFeature()方法类似。
    • 代码示例

      if(document.body.isSupported("HTML","2.0")){
          // 执行
      }
    • DOM3级引入了两个辅助比较节点的方法
      • isSameNode()
        • 类型相同时返回true,反之false。
      • isEqualNode()
        • 引用相同节点时,返回true,否则返回false。
【ComfyUI专栏】ComfyUI 数字人方案-ComfyUI-EchoMimic EchoMimic是一个基于图片和语音的数字人生成方案,通过ComfyUI节点实现。该方案安装简单,需下载特定模型文件(Unet、AudioProcessor和VAE)并保存本地。相比其他数字人生成方案,其节点操作更简便,支持多种Pose姿态选择,并能结合视频内容进行姿态同步,通过音频同步口型实现动态内容创建。生成的数字人效果直观,适用于快速创建个性化数字形象。 阅读详情

相关推荐

【CVPR 2025】低光增强HVI论文精读与源码复现---part1 论文网络精读

【CVPR 2025】本文参考论文HVI: A New Color Space for Low-light Image Enhancement part1 在文章中对论文核心网络与原理展开详细解释 part2 对论文公开代码的arch网络与其他核心部分展开详细解释

BOB_BOB_BOB_的博客 3257

JavaScript DOM入门之 node 类型

    DOM(文档对象模型)是针对 HTML 和 XML 文档的一个 API(应用程序编程接口)。DOM 描绘了一个层次化的节点树,允许开发人员添加、移除和修改页面的某一部分。节点层次    文档节点是每个文档的根节点。    文档元素是文档的最外层元素,文档中的其他所有元素都包含在文档元素中。每个文档只能有一个文档元素。在 HTML 页面中,文档元素始终都是 &lt;html&gt; 。在 X...

A secret makes a woman woman. 424

PCB设计必看:铜皮厚度与载流能力对照表(附Excel计算工具)

本文深入解析了PCB设计中铜皮厚度与载流能力的核心关系,提供了基于IPC-2152标准的动态计算逻辑与实用Excel工具。文章不仅分享了载流对照表,更重点剖析了影响载流能力的关键因素(如铜厚、线宽、温升、布线层),并给出了高电流设计的实战技巧与测试验证方法,帮助工程师规避常见陷阱,实现从理论到实践的闭环设计。

weixin_29228781的博客 721

前端重新学习(5)DOM与DOM2、DOM3区别以及DOM2新特性

------------摘抄自他人笔记(http://itbilu.com/javascript/js/Vyxodm_1g.html、https://blog.youkuaiyun.com/pxy_lele/article/details/49755071) 感谢分享---------------------- 目录 DOM0、DOM1、DOM2、DOM3的区别 DOM0 DOM0与DHTML ...

qq_16546829的博客 5396

网易CodeWave智能生成应用实战:5分钟搞定库存管理系统(附详细配置截图)

本文详细介绍了如何利用网易CodeWave智能生成应用在5分钟内快速构建定制化库存管理系统。通过自然语言描述需求,无需编程即可生成包含产品管理、库存预警等核心功能的应用,并支持字段微调、业务流程注入等深度优化。文章附有详细配置截图,帮助用户高效实现数字化转型。

julia4scientist的博客 886

ATM火控电容改造实战:提升速凌无刷电机动力与系统稳定性

在嵌入式系统与电机驱动领域,电源完整性是保障电路稳定运行的核心基础。其核心原理在于通过合理的电容网络设计,为负载提供瞬时大电流并滤除高频噪声,从而维持电压稳定。这项技术的核心价值在于能显著提升系统的动态响应能力与可靠性,避免因电压跌落导致微控制器复位或功率器件过应力。典型的应用场景包括无人机电调、机器人关节驱动以及各类需要快速响应的伺服系统。本文聚焦于水弹发射器ATM火控系统的硬件迭代,通过详解电容的选型、布局与焊接流程,特别是针对速凌五代无刷电机的高启动电流特性,系统性地阐述了如何通过强化电源储能与芯片去

weixin_33868027的博客 555

第十二章:DOM2 和 DOM3(DOM变化)

DOM2 和 DOM3 DOM变化 针对 XML 命名空间的变化 Node 类型的变化 Document 类型的变化 Element 类型的变化 NameNodeMap 类型的变化 其他方面的变化 DocumentType 类型的变化 Document 类型的变化 DOM2 和 DOM3 DOM1 级主要定义的是XML和HTML文档的底层结构。DOM2 级和DOM3

miaoch的博客 593

基于ESP32-P4的低成本旋转式激光雷达系统设计

激光雷达(LiDAR)作为机器人环境感知的核心传感器,其本质是融合光学测距、机电控制与实时数据处理的嵌入式系统。理解时间飞行(ToF)原理与机械旋转耦合机制,是实现高精度点云采集的基础;而系统级误差源——如计时抖动、电机惯性、信号串扰和温漂——直接决定实际建图鲁棒性。在资源受限场景下,选用RISC-V双核MCU(如ESP32-P4)可兼顾实时控制与网络服务能力,通过硬件时间戳捕获、S型加减速轨迹规划、旋转变压器供电及双Bank OTA等工程手段,有效平衡分辨率、帧率与稳定性。本文围绕360°旋转式激光雷达的

weixin_36231030的博客 431

Javascript学习笔记7 DOM2和DOM3

样式 style对象 任何支持style特性的HTML元素在Javascript中都有个style属性。其包含着通过HTML的style特性指定的所有样式信息(不包括外部样式表) div.style.color = &quot;red&quot;; div.style.backgroundcolor = &quot;white&quot;; div.style.width = &quot;100px&quot;; 除此之外,style对象..

zjw_python的博客 415

《C++等级认证CCF-GESP真题解析》专栏总目录

❤️ 专栏名称:《C++等级认证CCF-GESP真题解析》🌸 专栏介绍:中国计算机学会GESP《CCF编程能力等级认证》C++编程(1~8级)历届真题解析。🚀 订阅专栏:订阅后可阅读专栏内所有真题解析,真题持续更新中,欢迎订阅!

人生就是一个不断学习的过程 6287

BUCK-BOOST升降压电路Multisim电路仿真分析

本文分析了三极管型BUCK-BOOST升降压开关电源的工作原理。该电路结合了BUCK降压和BOOST升压拓扑,通过控制三极管Q1的高频通断,使电感L1周期性储能和释能,实现输出电压可高于或低于输入电压且极性相反。详细阐述了Q1导通和关断阶段的工作过程,推导了输出电压与占空比的关系式Vo=-D/(1-D)*Vi,并分析了不同占空比下的工作模式(降压、升压)。通过Multisim仿真验证了理论分析,当D=25%时输出降压至1.6V,D=60%时输出升压至7.5V。电路具有升降压灵活、极性反转、效率高等特点,适用

XU157303764的博客 1435

Javascript高级编程学习笔记(49)—— DOM2和DOM3(1)DOM变化

DOM变化 我们知道DOM有许多的版本,其中DOM0和DOM2这两个级别以对事件的纳入标准而为人所知 但是呢,这里不讲事件,在后面会有专门和事件有关的部分作为详细讲解 这里就只讲一下DOM2和DOM3的背景来历 首先DOM1级主要定义的是HTML和XML文档底层的结构,DOM2和DOM3两个级别则主要致力于为文档引入更加丰富的交互能力 与此同时这两个版本也支持了更加高级的...

dazhongshuo1167的博客 195

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

js学习小结(十)2014.5.10.11(DOM2和DOM3的变化,操作样式的DOM API(1))

1.DOM1主要定义了HTML和XML的底层结构,而DOM2 DOM3则在这个

凡事预则立,不预则废 1105

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

从零开始学习BOM&DOM

前言 ECMAScript,描述了该语言的语法和基本对象,如类型、运算、流程控制、面向对象、异常等。 文档对象模型(DOM),描述处理网页内容的方法和接口。 浏览器对象模型(BOM),描述与浏览器进行交互的方法和接口。 DOM/BOM架构 概述 JavaScript运行在浏览器 BOM就是连接JavaScript代码和浏览器的桥梁,而DOM就是用来操作各种标签元素的。 BO...

118

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

javascript DOM详解之DOM2与DOM3

DOM2与DOM3主要是在DOM1的基础上引入更多的交互能力,支持了更高级的XML特性。 DOM2做的主要的扩展子集具体为: DOM Level 2 Core:在一级核心的基础上,为节点添加了更多的方法和属性。 DOM Level 2 Views:为文档定义了基于样式信息的不同视图 DOM Level 2 Events:说明了如何使用事件与DOM进行交互。 DOM Level 2 Sty

seacean2000的专栏 1万+

JS监控DOM大小的变化

JS监控DOM大小的变化 由于浏览器原生不自带DOM元素的resize事件,一直想弄一个JS监控DOM元素大小变化的功能,之前想过很多方法都各有优缺点,但是最近发现了一个很不错的方法,虽然以前有设想过但一直没有时间去实现,知道看到有人实现了和我的设想相同的一种比较优良的监听方法,这篇文章将主要讲述两种监听方法,以及优劣分析 DOM大小的变化的诱因 DOM大小的决定因素 在寻找如何监听DOM大小变化...

ddkddkchen的博客 7096

JS高级程序设计——第12章 DOM2和DOM3 12.1 DOM变化

DOM变化一、DOM变化 一、DOM变化 DOM1 级主要定义的是 HTML 和 XML 文档的底层结构。 DOM2 和 DOM3 级则在这个结构的基础上引入了更多的交互能力,也支持了更高级的 XML 特性。 DOM2 和 DOM3 级分为许多模块(模块之间具有某种关联),分别描述了 DOM 的某个非常具体的子集。这些模块如下。  DOM2 级核心(DOM Level 2 Core):在...

YuTong_的博客 828

js学习笔记:DOM2和DOM3(放弃……)

DOM1级主要定义的还是HTML的地层结构,DOM2和DOM3级则在这个结构的基础上引入了更多的交互能力。为此,DOM2和DOM3级分为许多模块,分别描述了DOM的某个非常具体的子集。 DOM2核心:为节点添加了更多方法和属性 DOM2视图:为文档定义了基于样式信息的不同视图 DOM2事件:说明了如何使用事件与DOM文档交互 DOM2样式:定义了如何以编程方式来访问和改变CSS样式信息 DOM2遍历

(づ。◕‿‿◕。)づgigi奋斗在前端和刷题中╮(╯﹏╰)╭ 2835

JS学习11(DOM2&DOM3)

DOM1级主要是在定义HTML和XML文档的低层结构。D2和D3则在这个结构的基础上引入了更多的交互能力。它们被分为了许多模块: DOM Level 2 Core:为1级核心添加了更多方法和属性 DOM Level 2 Views:为文档定义了基于样式信息的不同视图 DOM Level 2 Events:说明了如何使用事件与DOM文档交互 DOM Level 2 Style:有关CSS DOM

exialym的博客 8585

JavaScript-DOM2和DOM3

DOM2 和DOM3级分为许多模块(模块之间具有某种关联),分别描述了DOM 的某个非常具体的子集。这些模块如下 DOM2 级核心(DOM Level 2 Core):在1 级核心基础上构建,为节点添加了更多方法和属性。 DOM2 级视图(DOM Level 2 Views):为文档定义了基于样式信息的不同视图。 DOM2 级事件(DOM Level 2 Events):说明

specialll的博客 552

Flippy.js:实现流畅DOM变化的JavaScript库

Flippy.js:实现流畅DOM变化的JavaScript库 Flippy.js 是一个使用 JavaScript 编写的开源项目,旨在帮助开发者轻松实现 DOM 元素的动画效果。该项目以简单易用和高效性能为核心特点,支持多种模块化引入方式,适用于不同的开发场景。 1. 项目基础介绍和主要编程语言 Flippy.js 是一个基于 JavaScript 的开源库,利用 FLIP 动画技术,可以轻松...

gitblog_00832的博客 644

25-JavaScript高级程序设计-DOM2&3变化

DOM1 级主要定义的是 HTML 和 XML 文档的底层结构。DOM2 和 DOM3 级则在这个结构的基础上引入了更多的交互能力,也支持了更高级的 XML 特性。 一、DOM变化 DOM2 级和 3 级的目的在于扩展 DOM API,以满足操作 XML 的所有需求,同时提供更好的错误处理及特性检测能力。 “DOM2 级核心”没有引入新类型,它只是在 DOM1 级的基础上通过增加新方法和新属性来增...

dandan666dandan的博客 210

《JS高程(3)》DOM2和DOM3-DOM变化-第12章笔记(22)

DOM1级主要定义的是HTML和XML文档的底层结构。 DOM2和DOM3级则在这个结构的基础上引入了更多的交互能力,也支持了更高级的XML特性。 DOM2级核心(DOM Level2 Core): 在1级核心基础上构建,为节点添加了更多方法和属性 DOM2级视图(DOM Level2 View): 为文档定义了基于样式信息的不同试图 DOM2级事件(DOM

独茧 766

【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter16-DOM2 和 DOM3

任何支持 style 属性的 HTML 元素在 JavaScript 中都会有一个对应的 style 属性。这个 style 属性是 CSSStyleDeclaration 类型的实例,其中包含通过 HTML style 属性为元素设置的所有样式信息,但不包含通过层叠机制从文档样式和外部样式中继承来的样式。HTML style 属性中的 CSS 属性在 JavaScript style 对象中都有对应的属性。本节介绍的属性和方法并不是 DOM2 Style 规范中定义的,但与 HTML 元素的样式有关。

江湖人称菠萝包 886

什么是DOM0,DOM2,DOM3?

事件是javascript和HTML交互基础, 任何文档或者浏览器窗口发生的交互, 都要通过绑定事件进行交互;比如鼠标点击事件、敲击键盘事件等。这样的事件行为都是前端DOM事件的组成部分,不同的DOM事件会有不同的触发条件和触发效果。 本文就将带大家深入浅出地了解DOM事件的那些属性和方法。 1.DOM级别与DOM事件: DOM级别一共可以分为四个级别:DOM0级、DOM1级、DOM2级和DOM3级。而DOM事件分为3个级别:DOM0级事件处理,DOM2级事件处理和DOM3级事件处理。 有人可能会疑惑,为

云端-公子清 5187
上一篇: JavaScript学习-DOM扩展_专有扩展
下一篇: JavaScript学习-操作样式的DOM API
Zmarvin
博客等级 码龄12年 6粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值