2016-04-14 34 views
0

我想微/富片段添加到我的网站,但该文件是不太清楚的一些事情,想我有这个概念性代码:微观数据父/子

<div itemscope itemtype="http://schema.org/LocalBusiness"> 
    <div itemprop="name">My Business</div> 
    <table itemscope itemtype="http://schema.org/PostalAddress"> 
     <tr><td itemprop="telephone">0612345678</td></tr> 
     <tr><td itemprop="addressCountry">Netherlands</td></tr> 
     <-- other postalAdress properties --> 
    </table> 
</div> 

该表显然包含所有接触属性(并出于格式原因在表格中)。问题是,该桌上还有一个电话号码。 Google微数据测试人员认为“电话”属性属于PostalAddress,但它必须属于LocalBusiness。我该如何解决?

+0

为什么会出现在你的餐桌'itemscope'?也许这是问题? – putvande

+1

@putvande为PostalAddress创建一个itemscope? – user2501247

+0

[Microdata on tables]可能重复(http://stackoverflow.com/questions/29684960/microdata-on-tables) – unor

回答

0

拉电话出的PostalAddress范围:

<div itemscope itemtype="http://schema.org/LocalBusiness"> 
    <span itemprop="name">My Business</span> 
    <span itemprop="telephone">0612345678</span> 
    <div itemscope itemtype="http://schema.org/PostalAddress"> 
     <span itemprop="addressCountry">Netherlands</span> 
     <-- other postalAdress properties --> 
    </div> 
</div 

schema.org

通过添加的itemscope,你指定包含在<DIV>的HTML .. </div >块是关于特定项目。

编辑:如果你不能改变DOM结构,这是我能拿出最好的:

<div itemscope itemtype="http://schema.org/LocalBusiness" itemref="phone"> 
    <div itemprop="name">My Business</div> 
    <table itemscope itemtype="http://schema.org/PostalAddress"> 
     <tr itemscope><td itemprop="telephone" id="phone">0612345678</td></tr> 
     <tr><td itemprop="addressCountry">Netherlands</td></tr> 
     <-- other postalAdress properties --> 
    </table> 
</div> 
+0

这当然是一种可能性,但它是回避问题。我必须用这种方法重做整个格式。必须有一个更简单的解决方案,因为这是一个典型的命名空间问题。 – user2501247

+0

@ user2501247我又增加了一个例子,但我认为它很丑陋,不太容易理解。但是,这是我能想到的将该属性分配给LocalBusiness对象的唯一方法。尽管重组DOM结构可能看起来像是额外的劳动,但如果有机会,我会避免使用表格并将其写得“更好”。 – Quantastical

+0

该解决方案的问题是,如果我有两个属于父范围的元素,我有无效的HTML语法(两个具有相同ID的标签)。我觉得这个范围很难得到支持,这似乎是一个日常问题。 – user2501247