微数据可以应用于任何类型的HTML元素吗?

微数据可以应用于任何类型的HTML元素吗?,html,markup,microdata,Html,Markup,Microdata,在web上的所有示例中,我看到微数据属性itemscope和itemtype应用于div元素,如下所示: <div itemscope itemtype ="http://schema.org/Movie"> <h1 itemprop="name">Avatar</h1> <span>Director: <span itemprop="director">James Cameron</span> (born Augu

在web上的所有示例中,我看到微数据属性
itemscope
itemtype
应用于
div
元素,如下所示:

<div itemscope itemtype ="http://schema.org/Movie">
  <h1 itemprop="name">Avatar</h1>
  <span>Director: <span itemprop="director">James Cameron</span> (born August 16, 1954)</span>
  <span itemprop="genre">Science fiction</span>
  <a href="../movies/avatar-theatrical-trailer.html" itemprop="trailer">Trailer</a>
</div>

阿凡达
导演:詹姆斯·卡梅隆(生于1954年8月16日)
科幻小说
但是微数据可以应用于任何其他元素吗?在我的例子中,我想将其应用于列表项:

<ul>
<li itemscope itemtype ="http://schema.org/Movie">
  <h1 itemprop="name">Avatar</h1>
  <span>Director: <span itemprop="director">James Cameron</span> (born August 16, 1954)</span>
  <span itemprop="genre">Science fiction</span>
  <a href="../movies/avatar-theatrical-trailer.html" itemprop="trailer">Trailer</a>
</li>
</ul>
  • 阿凡达 导演:詹姆斯·卡梅隆(生于1954年8月16日) 科幻小说

这有什么已知的问题吗?

简单地说,“是的”。亲自查看Google页面,看看他们在不同的标签中使用它:

添加Jeremy Miller的答案:

微观数据基本上形成对象。在有效的HTML中,具有
itemscope
属性的元素包含与其关联的所有微数据。此外,带有
itemprop
的每个元素的范围足以包含该属性所需的所有数据

想象一下用项目本身替换每个
itemscope
元素;并将每个
itemprop
元素替换为属性本身及其值。(想想XML)

在您的示例中,项目如下所示:

<movie>
    <name>Avatar</name>
    <director>James Cameron</director>
    <genre>Science fiction</genre>
    <trailer>Trailer</trailer>
</movie>

阿凡达
詹姆斯·卡梅隆
科幻小说
拖车
itemscope
s和
itemprop
s的这种结构可以应用于任何合适的HTML元素层次结构,而不管它们是什么元素。冗长的答案仍然是肯定的,但我希望这有助于你理解微观数据是如何解释的

另外,我猜您的示例来自,但我建议您至少快速阅读第1a-1d项。

您可以将每个HTML5元素用于微数据… Microdata为HTML5定义了5个新属性:

  • itemid
  • itemprop
  • itemref
  • itemscope
  • itemtype
让我们看看在哪里可以使用它们。说:

每个HTML元素都可以指定一个
itemscope
属性

因此每个元素都可以有
itemscope
。进一步说:

具有
itemscope
属性的元素可以指定
itemtype
属性

因此,如果它有
itemscope
(我们了解到每个元素都可以有它),那么它也可以有
itemtype
。下一步:

具有
itemscope
属性和
itemtype
属性[…]的元素也可以指定
itemid
属性

如果它有
itemscope
itemtype
,那么它也可以有
itemid
。以及:

具有
itemscope
属性的元素可以指定
itemref
属性

如果它有
itemscope
,它可以有
itemref

现在只缺少
itemprop
。定义如下:

每个HTML元素都可以指定一个
itemprop
属性

因此,
itemprop
也可以用于每个元素

(请注意,微数据(W3C注释)本质上是“HTML元素”的意思是“HTML5元素”。)

…但某些元素获得不同的内容模型(当使用
itemprop
时) 看

例如:

  • href
    成为
    a
    区域的必需属性
  • data
    成为
    iframe
  • meta
…某些元素具有确定属性值的特殊规则(当使用
itemprop
时) 看

例如:

。这里
foobar
的值是URL
http://example.com/
,而不是字符串
链接

<a href="http://example.com/" itemprop="foobar">Link</a>
搜索引擎应该知道这一点。 如果谷歌或其他搜索引擎服务支持,则无法明确回答,因为当涉及到隐藏代码的第三方服务时,没有什么可以肯定地回答。即使他们今天(似乎)支持,我们也不知道明天会发生什么。因此,这样的问题通常不适用于堆栈溢出


但是,没有理由认为搜索引擎不支持它。

这个问题似乎离题了,因为它是关于SEOI的,我认为这个问题应该重新讨论。它有一个非常小的搜索引擎优化问题,但我把它删掉了。然而,主要的问题从来都不是关于搜索引擎优化(也使用了这个答案)
<data value="5" itemprop="foobar">10</data>