2016-04-14 58 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