美文网首页
12 DOM2 和 DOM3

12 DOM2 和 DOM3

作者: 闷油瓶小张 | 来源:发表于2016-05-09 19:23 被阅读76次

本章内容

  • DOM2 和 DOM3 的变化
  • 操作样式的 DOM API
  • DOM 遍历与范围

12.1 DOM 变化

DOM2 级和 3 级的目的在于扩展 DOM API,以满足操作 XML 的所有需求,同时提供更好的错误处理及特性检测能力。
可以通过下列代码来确定浏览器是否支持这些 DOM 模块。

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 supportsDOM2XML = document.implementation.hasFeature('XML','2.0');

12.1.1 针对 XML 命名空间的变化

12.2.2 其他方面的变化

12.2 样式

12.2.1 访问元素的样式

任何支持style特性的 HTML 元素在 JavaScript 中都有一个对应的style属性。对于使用短划线的 CSS 属性,必须将其转换成驼峰大小写形式,才能通过JavaScript来访问。

12.2.2 操作样式表

CSSStyleSheet类型表示的是样式表,包括通过<link>元素包含的样式表和<style>元素中定义的样式表。继承自StyleSheet

12.2.3 元素大小

  1. 偏移量
  2. 客户区大小
  3. 滚动大小
  4. 确定元素大小

12.3 遍历

12.3.1 NodeIterator

12.3.4 TreeWalker

12.4 范围

12.4.1 DOM 中的范围

var supportsRange = document.implementation.hasFeature('Range', '2.0');
var range = document.createRange();
  1. 用 DOM 范围实现简单选择
var range1 = document.createRange();
var range2 = document.createRange();
var p1 = document.getElementById('p1');
range1.selectNode(p1);
range2.selectNodeContents(p1);
  1. 用 DOM 范围实现复杂选择

  2. 操作 DOM 范围中的内容

  3. 插入 DOM 范围中的内容

  4. 折叠 DOM 范围

  5. 比较 DOM 范围

  6. 复制 DOM 范围

  7. 清理 DOM 范围

12.4.2 IE8 及更早版本中的范围

12.5 小结

“DOM2 级样式”模块主要针对操作元素的样式信息而开发,其特性简要总结如下。

  • 每个元素都有一个关联的style对象,可以用来确定和修改行内的样式。
  • 要确定某个元素的计算样式,可以使用getComputedStyle()方法。
  • IE 不支持getComputedStyle()方法,但为所有元素都提供了能够返回相同信息currentStyle属性。
  • 可以通过document.styleSheets集合访问样式表。
  • 除 IE 之外的所有浏览器都支持针对样式表的这个接口,IE 也为几乎所有相应的 DOM 功能提供了自己的一套属性和方法。

“DOM2 级遍历和范围”模块提供了与 DOM 结构交互的不同方式,简要总结如下。

  • 遍历即使用NodeIteratorTreeWalker对 DOM 执行深度优先的遍历。
  • NodeIterator是一个简单的接口,只允许以一个节点的步幅前后移动。而TreeWalker在提供相同功能的同时,还支持在 DOM 结构的各个方向上移动,包括父节点、同辈节点和子节点等方向。
  • 范围是选择 DOM 结构中特定部分,然后再执行相应操作的一种手段。
  • 使用范围选区可以在删除文档中某些部分的同时,保持文档结构的格式良好,或者复制文档中的相应部分。
  • IE8 及更早版本不支持“DOM2 级遍历和范围”模块,但它提供了一个专有的文本范围对象,可以用来完成简单的基于文本的范围操作。IE9 完全支持 DOM 遍历。

相关文章

  • 2018-12-27

    第12章 DOM2和DOM3 DOM1级主要定义的是HTML和XML文档的底层结构。DOM2和DOM3则在这个结构...

  • JavaScript 高级程序设计(第12章 DOM2和DOM3

    第12章 DOM2和DOM3 DOM2 级核心(DOM Level 2 Core):在 1 级核心基础上构建,为节...

  • dom 级别和dom 事件处理

    dom级别:dom0 dom1 dom2 dom3 dom事件处理:dom0 dom2 dom3 (1级DOM标准...

  • 2019-01-02

    第12章 DOM2和DOM3 12.2 样式 12.2.1 访问元素的样式 在style特性中指定的任何CSS属性...

  • 2018-12-28红宝书第10章以后总结

    第十章DOM 第11、12章 DOM2和DOM3 主要是对DOM的一些能力扩展 DOM2能使用事件与DOM文档交互...

  • $12 DOM2和DOM3

    1. 样式: 确定浏览器是否支持DOM2级定义的CSS能力: 1.2 访问样式: A. DOM样式的属性和方法: ...

  • 12 DOM2 和 DOM3

    本章内容 DOM2 和 DOM3 的变化 操作样式的 DOM API DOM 遍历与范围 12.1 DOM 变化 ...

  • 12|DOM2和DOM3

    01|DOM变化 Node类型的变化localName:不带命名空间前缀的节点名称。namespaceURI:命名...

  • 十八

    DOM2和DOM3DOM1级主要定义的是HTML和XML文档的低层结构。DOM2和DOM3级则在这个结构的基础上引...

  • DOM2 和 DOM3

    本章内容:DOM2 和 DOM3 的变化、操作样式和 DOMAPI、DOM遍历与范围 DOM1 级主要定义的是HT...

网友评论

      本文标题:12 DOM2 和 DOM3

      本文链接:https://www.haomeiwen.com/subject/hmzqlttx.html