我们可以在单个元素上有多个 itemprop 用于微数据标记吗

Posted

技术标签:

【中文标题】我们可以在单个元素上有多个 itemprop 用于微数据标记吗【英文标题】:Can we have multiple itemprop's on single element for microdata tagging 【发布时间】:2012-03-18 03:32:14 【问题描述】:

我们可以用多个“itemprop”属性标记单个html元素吗?我正在研究微数据标记。(schema.org)

<asp:HyperLink ID="hlnk10" itemprop="url" itemprop ="manufacturer"  runat="server">     </asp:HyperLink>

超链接文本包含我要标记的两个属性 这是否符合 schema.org 标准?

提前致谢。

【问题讨论】:

【参考方案1】:

我对规范的阅读使我得出结论,您可以 每个元素只有一个 itemprop 属性,但它可以有多个 一个值。

"每个 HTML 元素都可以指定一个 itemprop 属性... itemprop 属性(如果指定)必须具有一个值 无序的唯一空格分隔标记集,它们是 区分大小写,表示它所使用的名称-值对的名称 补充道。该属性的值必须至少有一个标记。” http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#names:-the-itemprop-attribute

您可以尝试使用 nu 验证器或微数据解析器来测试您的代码 并确保你得到你期望的输出。

所以你可以使用&lt;span itemprop="name description"&gt;而不是&lt;span itemprop="name" itemprop="description"&gt;

不过,Google 的 Rich Snippet Testing Tool 可能还不能处理多个 itemprop 值。

我不知道该 asp 会生成什么,但我认为您希望输出更像这样: &lt;a href="/" itemprop="url"&gt;&lt;span itemprop="manufacturer"&gt;The Name&lt;/span&gt;&lt;/a&gt; 为了访问链接的文本内容,您添加了一个额外的跨度。 a 元素的值将始终只是其 href 属性的值。添加额外的 span 以访问链接的文本内容是一种常见模式。

【讨论】:

以上是关于我们可以在单个元素上有多个 itemprop 用于微数据标记吗的主要内容,如果未能解决你的问题,请参考以下文章

我们可以为单个元素使用多个 ng 样式的对象吗?

如何在单个页面上有多个 jQuery 插件实例?

单个页面上有多个 Facebook 评论框?

Stream.of()用法示例

Stream.of()用法示例

Stream.of()用法示例