我在网站上添加微数据,并想知道itemprop
属性应出现在哪个级别。
例如,我有以下标记:
<div itemscope itemtype="http://schema.org/Article">
<div class="author">
<a href="http://www.author.com">Author's Name</a>
</div>
</div>
itemprop
应该直接放在a
元素中,还是可以将其添加到<div class="author">
并且可以正确解析?
我可以拥有以下内容:
<div itemscope itemtype="http://schema.org/Article">
<div class="author" itemprop="author">
<a href="http://www.author.com">Author's Name</a>
</div>
</div>
而不是
<div itemscope itemtype="http://schema.org/Article">
<div class="author">
<a href="http://www.author.com" itemprop="author">Author's Name</a>
</div>
</div>
换句话说,是否必须在元素上直接定义itemprop
属性(例如a
或img
标记),或者可能在包装器div
上定义它,内容实际上是在子元素中吗?
答案 0 :(得分:1)
这取决于财产(它应该具有什么价值)。
itemprop
或href
属性(例如src
或a
)元素上的img
会创建一个URI值:它取值href
/ src
属性,而不是元素的内容。
此处author
属性的字符串值为&#34; Author's Name
&#34;:
<div itemprop="author">
<a href="http://example.com/">Author's Name</a>
</div>
此处author
属性的URI值为&#34; http://example.com/
&#34;:
<div>
<a href="http://example.com/" itemprop="author">Author's Name</a>
</div>
还有一些例外,例如meter
元素或time
元素。您可以参考my answer about datatypes in Microdata中的摘要。
除了这些例外之外,如果值应该是一个字符串,并且您只有div
元素,那么您指定itemprop
的元素无关紧要,所以这些三个片段都有字符串&#34; bar
&#34;作为foo
属性的值:
<div itemprop="foo">
bar
</div>
<div itemprop="foo">
<div>
bar
</div>
</div>
<div itemprop="foo">
<div>
<div>
bar
</div>
</div>
</div>