
微数据DOMAPI
也许你已经想到了,文档的微数据结构同样也可以通过微数据DOMAPI用JavaScript创建。
对所有顶层微数据项目(此类项目包含itemscope属性并且不为另一个项目的一部分)的访问通过document.getltems()方法进行,然后将得到一个按DOM树顺序排列的DOM节点列表。若将范围限制在某一特定类型元件,我们可以将指定itemtype的属性列表传给getltems(),以逗号分隔:
varallNodes=document.getltems();varvCards=document.getltems(http://microformats.org/profile/hcard1);
生成的节点列表中,可以通过每个元素访问其微数据M性。
从相应顶层元件开始,我们可以进一步研究由itemprop所定义的内容(properties)。
它们可以通过item.properties访问-也称为HTMLPropertiesCollection,通过此接口可以访问每个properties下的名称:值对。此类元素依它们在DOM树中的位置分类。表1展示了这些属性、方法以及它们的相应内容。
微数据DOMAPI的最后一个属性是itemValue。它允许对包含itemprop属性的元素的内容进行访问。若变量elem中的元素是容器----例如article、div或者span-那么通过elem.itemValue则可以改变该元素的文本内容。
涉及到内嵌元件时要格外小心,因为有关元素同样包含一个itemscope属性,而且该元素的内容跟顶层元件一样都会被独立解释。因此规范规定,在这种情况下elem.itemValue应当创建为一个新的元件对象。
第二个也是最后一个涉及HTML元素的特例:在关于itemprop属性的章节中已经介绍过具有特殊状态的元素。a、src、time、meta及object都属于这一类。与通常情况不同,它们的href、src、datetime、content或data属性都被指派给elem.itemValue。表1中已经把它们列了出来。
我们深人了解了微数据语法,即使用各种全局属性将语义标记添加至文档。布尔型属性itemscope将指定区域标记为微数据相关,并定义了一对新的空白名字与值(name-valuepairs)-也就是元件。之后我们讨论了itemprop属性,它以相关的内容名称作为属性值。
vEvents对应事件日期,还通过itemid属性为这些词汇元件创建唯一ID标签,冓如说ISBN或EAN序列号。介绍的最后一个微数据属性是itemref,借助它我们可以指定一个以逗号分隔的元素ID列表,并用它来搜索微数据内容。作为本章总结,微数据DOMAPI向我们展示了如何通过JavaScript轻松访问微数据结构。
不幸的是,目前并无浏览器可支持微数据,唯一方法是使用PhilipJSgenstedt的LiveMicrodata查看器,
宁波网站制作认为地址是http://foolip_org/microdatajs/live。除此之外,我们只能等待着微数据的普及。
本文由乐华网络编辑,转载请注明出处
宁波网站制作www.leseo.net