34.1.2 DHTML和XHTML
动态HTML,或者DHTML,是一个用来描述将静态HTML,级联样式单(CSS)以及JavaScript结合,并且在载入一个静态Web页面所有元素后,通过文档对象模型修改页面外观的术语。表面上看,这个功能非常类似支持Ajax的站点页面,事实上,在一定程度的确如此。它们的区别就在于服务器和客户端之间的异步连接,也就是,Ajax中的字母"A"(异步)。
尽管DHTML驱动的站点可以在导航的下拉列表显示动态变化或者根据用户选择改变表单元素,但是这些元素的所有数据都是已经从服务器获得的。例如,如果要设计一个用户将鼠标滑过一个链接或按钮时显示文本第一部分并且滑过另一个链接或按钮时显示文本第二部分的DHTML网站,第一部分和第二部分的文本事实上已经载入到用户的浏览器中。开发人员可以通过JavaScript编程根据用户鼠标的动作设置CSS的可见性(Visibility)属性来显示或隐藏文本。在支持Ajax的站点中,根据远程调用服务器端的脚本执行结果,填充为第一部分和第二部分预留的区域,而页面的其他区域保持不变。
可扩展的超文本置标语言,或者XHTML,通过客户端设备(Web浏览器,手机或者其他手持设备)来显示标记的内容,并且支持集成CSS来提供显示的额外控制。这些功能与HTML和DHTML是类似的。XHTML和HTML的不同之处在于XHTML遵循XML的语法,以及除了标准的Web浏览工具外,XHTML还可以被XML工具来解析。
XHMTL的元素和属性全部是小写字母(例如,<head></head>,而不是<HEAD></HEAD>;href而不是HREF)。此外,所有属性值必须封闭在单引号或双引号内,所有元素必须显式封闭——通过标记对里的结束标记或者在单一元素内,例如,<img/>或<br/>。
关于XHTML的详细信息,请参阅:http://www.w3.org/TR/xhtml1/。