我的开发人员使用
HTML表编写了一个产品列表.代码出现如下:
<table> <tr class="name"> <td>Product Name #1</td><td>Product Name #2</td><td>Product Name #3</td> </tr> <tr class="price"> <td>Product Price #1</td><td>Product Price #2</td><td>Product Price #3</td> </tr> <tr class="brand"> <td>Product Brand #1</td><td>Product Brand #2</td><td>Product Brand #3</td> </tr> </table>
你明白了.在视觉上它看起来很完美,但是当尝试通过schema.org进行标记时,我遇到了问题,因为产品属性不存在是整齐的嵌套HTML元素,而是分布在整个表中.是否有办法使用ItemID Microdata属性来确保每个品牌和价格与正确的产品名称相关联?
就像是:
<tr class="name"> <td itemscope itemtype="http://www.schema.org/Product" itemID="Product1">Product Name #1</td> <td itemscope itemtype="http://www.scema.org/Product" itemID="Product2">Product Name #2</td>
等等等等什么想法?我是否会对页面进行重新编码以使其正常工作?
解决方法
实际上,itemid不是正确的方法.与RDF不同,微数据解析模型不会连接具有相同itemid的内容.
相反,您应该使用itemref属性.
例如:
<div itemscope itemtype="http://schema.org/Product" itemref="foo"></div> <div id="foo" itemprop="offers" itemscope itemtype="http://schema.org/Offer"> <span itemprop="price">Product Price #1</span> </div>
您可以使用http://foolip.org/microdatajs/live/测试微数据