相关文章
网站设计无延迟翻滚的图形/CSS混合风格的按钮
网页设计用CSS做滑动效果的图片画廊
网页设计有关HTML代码的另类应用技巧
北京网站制作Dreamweaver中加入竖直线的问题
北京网页设计Flash MX 2004编程教程(六)
网站制作抗日Flash集之:抗日一隅
网站设计Flash MX 2004 时间轴特效(3)
网站设计把按钮藏起来 谈制作Flash课件时的隐形处理
网站制作表单工具栏的使用(中)
www.qitongnet.comcss模拟title和alt的提示效果
品牌理念
北京网站建设最佳合作伙伴
北京网站建设专家企通互联
竭诚为您提供网站建设服务!
友好连接
文章搜索
你的位置:首页 >> 网站制作 >> 北京网页设计对Web页面元素的绝对唯一引用方法
北京网页设计对Web页面元素的绝对唯一引用方法
至于getElementsByXxx我们不说了,它本身就是getElements,很明白了,那么getElementById也不能唯一确定一个元素吗?当然是,不能。由于 网站制作html的不严格性,在同一页面中重复元素的id是被允许的。关于 企通互联id的更多细节问题,请参考:细说HTML元素的ID和Name属性的区别,一文。
那么怎么才能唯一的确定对一个元素的引用呢?使用DOM之间的引用结构来查找?这个方法虽然是行的,但是可操作性是在是太差了。这里需要说说我原来介绍过的html属性uniqueID,它是微软为HTML元素扩充的专有属性,不遵循W3C的规范。这个uniqueID有一些undocumented的特性,uniqueID其实也是和id类似的一套元素表示体系,只是它是纯客户端的标示方案。它的一些细节在前面一个链接中已经介绍了,下面我们主要说说它的特性。
由于它是元素的表示体系,那么它也因该和id的特性一样啰?实际上确实是这样,除了uniqueID的生成方式和id完全不同外,uniqueID其它表现和 www.qitongnet.comid是一样的。我们可以通过这个uniqueID直接引用元素,就像id一样,只是由于uniqueID是动态生成的,所以我们也只能动态使用这个uniqueID,而不能以 北京网站建设literal形式来使用。下面是一个使用示例:网站设计
var g_ELEMENTS = {};企通互联
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标示要方面高效的多,并且还利于对元素检索。
上一篇:北京网页设计HTML中meta作用
下一篇:网站建设Html 书签的使用