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。