1.1. YAHOO 工具库提供的方法 namespace 用于创建一个全局的命名空间,使用YUI 时,首先会自动创建widget,util,example 三个命名空间,使用时也可以自定义命名空间。类似于在程序中建了了一个static 变量。 lang javascript 扩展的语言工具,用于判别对象的类型。 lang.extend 用于从一个对象上扩展出另一个对象,模拟了类的继承的方式,但不同的是,在创建子对象时,父对象的构造函数不会自动调用。父对象的引用存放在了子对象的supperclass 中,构成了一个链状继承关系。在 2.2.2 的版本中,YAHOO.lang.extend 和 YAHOO.extend 指向同一函数对象。 lang.augment 将一个对象的属性(部分或全部)复制到另一个对象,但并非真正意义上的复制,只是一种引用。YAHOO.augment=YAHOO.lang.augment。 log 用来调试的一个工具,将信息显示到 log 控件。 env 环境信息和 YUI 组件信息 YUI_config.listener 可以定义自己的回调函数,当有新的YUI 组件加载到页面时将会调用YUI_config.listener 指向的函数。 2. YUI 提供的Dom 操作 特点:对于大部分 DOM 操作提供了批量操作的功能,而对用户只需使用统一的函数接口就能完成单个或批量的操作,主要得益于DOM 内部的batch 方法。 2.1. Element 的查找 YAHOO.util.Dom.get(element) 调用document.getElementById(element),获取指定的页面元素。 YAHOO.util.Dom.getElementsBy(method,tagName,rootNode) 在rootNode 的子节点中按照用户提供的method 方法在所有标签为tagName 的element 中查找符合条件的节点。rootNode 不指定则在整个 Document 中查找,method 是一个 method(elementID)类型的函数对象,该函数对象的返回值为Boolean 值。 YAHOO.util.Dom.getElementsByClassName(className, tagName, rootNode) 返回指定根节点下所有标签为tagName,class 为className 的DOM 节点数组。根节点为可选参数,不指定时在整个页面中查找 YAHOO.util.Dom.inDocument(el) 判断元素 el 是否在当前的DOM 中,支持批量操作。 2.2. 样式控制和访问 YAHOO.util.Dom.hasClass(element, className) 判断 element 标签上是否指明了 className 的class,支持批量操作 YAHOO.util.Dom.addClass(element, className) 给指定标签增加名为className 的class,支持批量操作. YAHOO.util.Dom.removeClass(element,...