您的位置:首页 > 其它

对Web页面元素的绝对唯一引用方法

2006-09-29 08:49 323 查看
对Web页面元素的绝对唯一引用方法[b]var span = document.createElement('SPAN');
document.body.appendChild(span);
g_ELEMENTS[span.uniqueID] = span;

这样我们就通过uniqueID将span缓存起来了,已有要引用这个span,就可以这样:

var elements = g_ELEMENTS.GetExpandoKeys();
for ( var i=0 ; i < elements.length ; ++i )
var element = eval(elmenets[i]);
// todo: other logic
}

除了使用eval来引用这个uniqueID外,getElementById也有一个undocumented的特性,就是它也支持uniqueID,这样一来,我们就可以使用getElementById(elements[i])来绝对唯一的引用一个页面元素。

可能有人会疑惑,这个uniqueID到底有什么用啊?其实在动态生成大量页面元素时,使用uniqueID可以非常方面的为元素生成真正的unique的id,它的意义就在于可以将这些动态元素cache起来,做统一管理。特别是在实现动态在的TreeView时,如果合理使用uniqueID到来的好处,就可以避免很多需要对树进行反复递归便利才能完成的工作。还有,uniqueID是IE的DOM提供的原生解决方案,比自己去做unique标示要方面高效的多,并且还利于对元素检索。

参考信息:GetExpandoKeys(),另外就是本文不适合FireFox及其它非IE内核浏览器
--------------------------------------------------------------------------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐