zoukankan      html  css  js  c++  java
  • DOM 变化(dom2和dom3)

     1 <!DOCTYPE html>
     2 <html>
     3     <head>
     4         <meta charset="utf-8" />
     5         <title>DOM 变化(dom2和dom3)</title>
     6     </head>
     7     <body>
     8         
     9     </body>
    10     <script>
    11         
    12         /*
    13          DOM2 和 DOM3 级则在这个结构的基础上引入了更多的交互能力,也支持了更高级的 XML 特性。为此,DOM2 和 DOM3级分为许多模块(模块之间具有某种关联),
    14          分别描述了 DOM 的某个非常具体的子集。这些模块如下。
    15  DOM2 级核心(DOM Level 2 Core):在 1 级核心基础上构建,为节点添加了更多方法和属性。
    16  DOM2 级视图(DOM Level 2 Views):为文档定义了基于样式信息的不同视图。
    17  DOM2 级事件(DOM Level 2 Events):说明了如何使用事件与 DOM 文档交互。
    18  DOM2 级样式(DOM Level 2 Style):定义了如何以编程方式来访问和改变 CSS 样式信息。
    19  DOM2 级遍历和范围(DOM Level 2 Traversal and Range):引入了遍历 DOM 文档和选择其特定部分的新接口。
    20  DOM2 级 HTML(DOM Level 2 HTML):在 1 级 HTML 基础上构建,添加了更多属性、方法和新接口。
    21 可以通过下列代码来确定浏览器是否支持这些 DOM 模块。
    22 var supportsDOM2Core = document.implementation.hasFeature("Core", "2.0");
    23 var supportsDOM3Core = document.implementation.hasFeature("Core", "3.0");
    24 var supportsDOM2HTML = document.implementation.hasFeature("HTML", "2.0");
    25 var supportsDOM2Views = document.implementation.hasFeature("Views", "2.0");
    26 var supportsDOM2XML = document.implementation.hasFeature("XML", "2.0");
    27 
    28          * */
    29         /*
    30           Node 类型的变化:增加了命名空间;
    31           Document 类型的变化:包含了与命名空间有关的方法。只有在文档中存在两个或多个命名空间时,这些与命名空间有关的方法才是必需的。
    32            Element 类型的变化:与命名空间有关
    33            NamedNodeMap 类型的变化:与命名空间有关
    34          * */
    35         /*
    36          其他方面的变化:
    37          DocumentType 类型新增了 3 个属性:publicId、systemId 和 internalSubset。其中,前两个属性表示的是文档类型声明中的两个信息段,
    38          这两个信息段在 DOM1 级中是没有办法访问到的。
    39          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    40 对这个文档类型声明而言,publicId是"-//W3C//DTD HTML 4.01//EN",而systemId是"http:
    41 //www.w3.org/TR/html4/strict.dtd"。在支持 DOM2 级的浏览器中,应该可以运行下列代码。
    42 alert(document.doctype.publicId);
    43 alert(document.doctype.systemId);
    44 实际上,很少需要在网页中访问此类信息。最后一个属性 internalSubset,用于访问包含在文档类型声明中的额外定义,以下面的代码为例。
    45 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    46 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
    47 [<!ELEMENT name (#PCDATA)>] >
    48 访问 document.doctype.internalSubset 将得到"<!ELEMENT name (#PCDATA)>"。这种内部
    49 子集(internal subset)在 HTML 中极少用到,在 XML 中可能会更常见一些。
    50 
    51  Document 类型的变化
    52  Document 类型的变化中唯一与命名空间无关的方法是 importNode()。这个方法的用途是从一个文档中取得一个节点,然后将其导入到另一个文档,
    53  “DOM2 级视图”模块添加了一个名为 defaultView 的属性,其中保存着一个指针,指向拥有给定文档的窗口(或框架)。
    54  “DOM2级核心”还为 document.implementation 对象规定了两个新方法:createDocumentType()和 createDocument()。前者用于创建一个新的 DocumentType节点.
    55  “DOM2 级 HTML”模块也为 document.implementation 新增了一个方法,名叫 createHTMLDocument()。这个方法的用途是创建一个完整的
    56 HTML 文档,包括<html>、<head>、<title>和<body>元素。这个方法只接受一个参数,即新创建文档的标题(放在<title>元素中的字符串),返回新的 HTML 文档.
    57  3. Node 类型的变化:Node 类型中唯一与命名空间无关的变化,就是添加了 isSupported()方法。与 DOM1 级为 document.implementation引入的 hasFeature()方法类似,
    58  isSupported()方法用于确定当前节点具有什么能力。
    59  DOM3 级引入了两个辅助比较节点的方法:isSameNode()和 isEqualNode()。
    60  DOM3 级还针对为 DOM 节点添加额外数据引入了新方法。其中,setUserData()方法会将数据指定给节点
    61 4. 框架的变化:略
    62          * */
    63     </script>
    64 </html>
  • 相关阅读:
    三种基本排序算法
    sourcetree push限制大小
    移动端布局注意事项
    margin-top 实效问题
    布局方式
    web前端开发工程师
    eScript 简记
    Siebel script for Pre Events
    Siebel Performance for Script <1>
    Siebel Presumed Child Property Set
  • 原文地址:https://www.cnblogs.com/gaoxuerong123/p/7809724.html
Copyright © 2011-2022 走看看