JavaScript笔记:DOM2 & DOM3

DOM1主要定义的是HTML和XML文档的底层结构,DOM2 & DOM3则在这个结构的基础上引入了更多的交互能力。

为此,DOM2、DOM3分为好多个模块,分别描述了DOM某个非常具体的子集:
1、DOM2级核心:在DOM1级核心的基础上构建,为节点添加了更多的方法和属性。
2、DOM2级视图:为文档定义了基于样式信息的不同视图。
3、DOM2级事件:说明了如何使用事件与DOM文档交互。
4、DOM2级样式:定义了如何使用编程方式,来访问和改变css样式信息。
5、DOM2级遍历和范围:引入了遍历DOM文档和选择其特定部分的新接口。
6、DOM2级HTML:在1级HTML基础上构建,添加了更多属性、方法和新接口。

1、DOM变化

DOM2和3的目的在于扩展DOM的API,以满足操作XML的所有需求,提供更好的错误处理和特性检测能力。
可以通过下列代码来确定浏览器是否支持这些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 supportsDOM2XML = document.implementation.hasFeature("XML", "2.0");

1、针对XML命名空间的变化

有了XML命名空间,不同XML文档的元素就可以混在一起,共同构成格式良好的文档,而不必担心发生命名冲突。
从技术上说,HTML不支持XML命名空间,但是XHTML支持XML命名空间。
命名空间使用特性xmlns来指定,XHTML的命名空间是http://www.w3.org/1999/xhtml,在任何格式良好的XHTML页面中,都应该包含在html元素中,如下面的例子所示:

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Example XHTML pagetitle>
    head>
    <body>
        Hello world!
    body>
html>

就这个例子而言,其中的所有元素都默认为XHTML命名空间中的元素。

<待续>

你可能感兴趣的:(JavaScript)