YUI3的guid和stamp方法

作者:kun10 发布时间:April 24, 2011 分类:JavaScript

YUI3里面有一个stamp函数和guid方法
guid方法是用来给一个特定的dom元素来添加一个对于yui的特定的id
guid: function(pre) {
var id = this.Env._guidp + (++this.Env._uidx);
return (pre) ? (pre + id) : id;
},

_guidp是一个前缀,默认定义为‘Y’
_uidx是一个环境上面的变量,用来记录数字

guid很明显的,通过拼接生成一个唯一的id

stamp方法是用来读取一个对象的id的

stamp: function(o, readOnly) {
        var uid;
        if (!o) {
            return o;
        }

        // IE generates its own unique ID for dom nodes
        // The uniqueID property of a document node returns a new ID
        if (o.uniqueID && o.nodeType && o.nodeType !== 9) {
            uid = o.uniqueID;
        } else {
            uid = (typeof o === 'string') ? o : o._yuid;
        }

        if (!uid) {
            uid = this.guid();
            if (!readOnly) {
                try {
                    o._yuid = uid;
                } catch (e) {
                    uid = null;
                }
            }
        }
        return uid;
    },

里面做了一个对IE的处理。ie会对每一个dom元素加上一个uniqueID,默认读取ie的uniqueID或者yuid。

  1. 1