存档: 标签: ‘DOM’

SAX解析XML的一点介绍

没有评论 2010年12月4日

SAX (Simple API for XML) 和 DOM (Document Object Model) 是当前两个主要的XML API,几乎所有商用的xml 解析器都同时实现了这两个接口。
DOM 虽然是 W3C 的标准,提供了标准的解析方式,但它的解析效率一直不尽如人意,因为使用DOM解析XML时,解析器读入整个文档并构建一个驻留内存的树结构(节点树),然后您的代码才可以使用 DOM 的标准接口来操作这个树结构。但大部分情况下我们只对文档的部分内容感兴趣,根本就不用先解析整个文档,并且从节点树的根节点来索引一些我们需要的数据也是非常耗时的。
Simple API for XML(简称SAX)是个循序存取XML的解析器API。SAX提供一个机制从XML文件读取资料。它是除了文档对象模型(DOM)的另外一种流行选择。
SAX是Simple API for XML的缩写,它并不是由W3C官方所提出的标准,可以说是“民间”的事实标准。实际上,它是一种社区性质的讨论产物。
SAX 允许您在读取文档时处理它,从而不必等待整个文档被存储之后才采取操作。它不涉及 DOM 所必需的开销和概念跳跃。 SAX API是一个基于事件的API ,适用于处理数据流,即随着数据的流动而依次处理数据。SAX API在其解析您的文档时发生一定事件的时候会通知您。在您对其响应时,您不作保存的数据将会被抛弃。
XML属性也作为传给元素事件资料的一部份。

SAX 处理是单方向性的;解析过的资料无法在不重新开始的情况下再次读取。 继续阅读…

jQuery中的正则表达式

7 条评论 2010年8月29日


在jQuery中是通过正则表达式来找到某一个dom节点,你可以使用xpath的一些技巧用在jQuery上。

在jQuery源码中最开始的地方有这一行代码:

// A simple way to check for HTML strings or ID strings (both of which we optimize for)
var quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/, // Is it a simple selector
isSimple = /^.[^:#\[\.]*$/,    // Will speed up references to undefined, and allows munging its name.
undefined;
继续阅读…

Handling Keyboard Shortcuts in JavaScript

没有评论 2010年3月11日

在web开发中,对页面的进行全局或部分页面进行键盘快捷键事件注册,能够有效的提高页面的用户体验。在ExtJs中的表格Form中就有回车提交的事件,实现方法可以参照我的另一篇文章:Ext监控回车按键
在网络上看到了一篇处理JavaScript键盘快捷键事件的文章:Handling Keyboard Shortcuts in JavaScript ,其实现方法很简单,只是封装了一个shortcut的类,提供了注册快捷键的方法和删除快捷键事件的方法。 继续阅读…

DOM 事件模型

2 条评论 2010年3月11日

DOM事件流

DOM(文档对象模型)结构是一个树型结构,当一个HTML元素产生一个事件时,该事件会在元素结点与根结点之间的路径传播,路径所经过的结点都会收到该事件,这个传播过程可称为DOM事件流。 继续阅读…

Unobtrusive Javascript

没有评论 2010年1月5日
Unobtrusive Javascript

Unobtrusive Javascript

Web设计的三个主要部分:XHTML(Extendsible HyperText Markup Language,可扩展标记语言)、CSS(Cascading Style Sheet ,层叠样式表)和使用javascript的DOM(Document Object Model,文档对象模型)脚本语言。

其中,XHTML用于提供文档结构的语义标记,CSS为文档布局提供定位和样式,而DOM脚本编程用于增强文档的行为和交互性。谈到增强文档的行为和交互性,如今的网页开发基本上已经实现了CSS与HTML的样式Unobtrusive与结构的分离,但是DOM在行为与结构的分离上做的还不是很好,或者说很少人注意到这点,并且遵循此规则。

DOM编程实现行为与结构的分离,也就是用javascript来实现脚本页面的分离,做到文档功能的“渐进增强(progressive enhancement)”和“平稳退化(graceful degradation)”,也就是实现Unobtrusive Javascript,即不唐突的javascript. 继续阅读…

Firebug中的console

2 条评论 2009年12月19日

公司现在开发的系统编码是GBK,只能在IE6、IE7下浏览,与Firebug和IE8 不兼容,每次调试代码都是非常痛苦,需要不停的alert,让人心烦!开发网站,不能用强大的调试工具调试代码,对于开发人员来说,生不如死。虽然,暂时用不上Firebug,但是研究一下Firebug怎样调试代码,还是很有必要的。

Firebug一共有Console,HTML,CSS,Script,DOM,NET六个Tab,Console可以记录日志,还提供了通过命令行方式来调试Javascript的方法。

继续阅读…