“content”属性是否对<span>标记&gt;有效?如果是这样,这是一个好习惯吗?</span>

时间:2014-08-05 08:56:55

标签: html schema.org microdata

&#34;内容&#34;属性对span标签有效吗?如果是这样,这是一个好习惯吗? 我将在我的网站页面上应用微数据(schema.org)。

我想在页面的某些元素上添加微数据。

这是我目前的代码:

    <span itemscope itemtype="http://schema.org/Product">
        <a itemprop="url" class="list-items" href="/product/286/cryptomate64-usb-cryptographic-token/" title="CryptoMate64 USB Cryptographic Token">
            <span itemprop="name">CryptoMate64 USB Cryptographic Token</span>
            <span class="hidden">
                <span itemprop="productid"/>286</span>
                <span itemprop="model" content="ACOS5T-B2-SCZ" />ACOS5T-B2-SCZ</span>
            </span>
        </a>    
    </span>

正如你所看到的,我有div课程&#34;隐藏&#34;因为模型和ID不应该显示在页面上。

我想通过这样做来缩小代码:

<span itemscope itemtype="http://schema.org/Product">
    <a itemprop="url" class="list-items" href="/product/286/cryptomate64-usb-cryptographic-token/" title="CryptoMate64 USB Cryptographic Token">
        <span itemprop="name">CryptoMate64 USB Cryptographic Token</span>
        <span itemprop="productid" content="286" />&nbsp;</span>
        <span itemprop="model" content="ACOS5T-B2-SCZ" />&nbsp;</span>
    </a>    
</span>

我可以使用meta代替span,以便内容不可见。但我认为这不是一个好习惯,因为我会有很多项目。你能提出什么建议?感谢。

2 个答案:

答案 0 :(得分:0)

我使用Google's richsnippets test tool测试了您的更新代码,它可以与content上的span属性一起使用。

然而,这不是一个好习惯,因为最后两个跨度内没有内容。在这种情况下,使用 metas 非常合适。

<meta itemprop="productid" content="286">
<meta itemprop="model" content="ACOS5T-B2-SCZ">

答案 1 :(得分:0)

不,它无效

HTML5和Microdata都没有为content定义span属性。 (RDFa does,但你没有使用它。)

如果您想使用不应显示的微数据标记内容,

  • 使用常规HTML并使用CSS或
  • 隐藏它
  • 使用link元素(用于URI)和meta元素(用于其他任何内容);这两个元素都是allowed in the body,通常默认为浏览器样式表隐藏。

我更喜欢后一个版本(meta / link),但每次都不可能(例如,如果您需要使用itemscope添加新项目)。