2014-04-01 76 views
0

我是Microdata的全新品牌,我正在慢慢獲取它。但出於某種原因,這並不符合W3C驗證驗證,因爲我把一個<div><ul>中間:列表標記上的Microdata未通過W3C驗證器驗證

<div itemscope itemtype="http://schema.org/BeautySalon"> 
    <ul> 
    <li> 
     <b> 
     <span itemprop="name">foobar and you</span> 
     </b> 
    </li> 
    <div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> 
     <li> 
     <span itemprop="streetAddress">6969 foobar</span> 
     </li> 
     <li> 
     <span itemprop="addressLocality">Miami Beach</span>, 
     <span itemprop="addressRegion">FL</span> 
     <span itemprop="postalCode">33139</span> 
     </li> 
    </div> 
    <li> 
     <span itemprop="telephone">305 691 6969</span> 
    </li> 
    </ul> 
</div> 

我將如何正確添加

<div itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> 

,並正確添加所有itemprop仍然是W3C有效?

回答

1

ul不允許div的孩子,所以你不能用它作爲容器幾個li元素。有各種可能的解決方案。

我認爲使用ul這裏是不合適的。但是,如果您想繼續使用ul

街道地址與地區/地區/郵政編碼不在同一個列表項中似乎沒有意義。因此,您可能希望將它們全部放在同一個列表項目中(並且您可能還希望使用br作爲郵寄地址)。

如果您想使用b作爲名稱,則可以省略span。請指定b上的Microdata或li上的(爲了一致性)。

如果您不需要電話號碼的單獨元素,則可以在li上指定Microdata。

這將使你:

<div itemscope itemtype="http://schema.org/BeautySalon"> 
    <ul> 
    <li itemprop="name"><b>foobar and you</b></li> 
    <li itemprop="address" itemscope itemtype="http://schema.org/PostalAddress"> 
     <span itemprop="streetAddress">6969 foobar</span><br> 
     <span itemprop="addressLocality">Miami Beach</span>, 
     <span itemprop="addressRegion">FL</span><br> 
     <span itemprop="postalCode">33139</span> 
    </li> 
    <li itemprop="telephone">305 691 6969</li> 
    </ul> 
</div> 

can use every HTML5 element for Microdata。重新使用您現有的標記。只有當您需要Microdata的附加元素時,請添加並使用div/span(可能還有meta/link)。