如何防止元素出现在父模式下?

时间:2014-09-24 18:24:09

标签: schema.org microdata

我有一些稍微笨拙的标记,需要从单独的容器中引用一些元素,并防止这些元素出现在其层次结构中的父元素下。我怎么能这样做?

这是我的(简化)标记:

<body itemscope itemtype='https://schema.org/AboutPage'>
  <div itemscope itemtype="https://schema.org/ProfessionalService">
    <ul>
      <li><a href="#tab-emp1"><img id="photo-emp1" itemprop="image" src="..."/></a></li>
      <li><a href="#tab-emp2"><img id="photo-emp2" itemprop="image" src="..."/></a></li>
      <li><a href="#tab-emp3"><img id="photo-emp3" itemprop="image" src="..."/></a></li>
      <li><a href="#tab-emp4"><img id="photo-emp4" itemprop="image" src="..."/></a></li>
    </ul>
    <div id="tab-emp1" itemprop="employee" itemscope itemtype="https://schema.org/Person"
         itemref="photo-emp1">
      <h1 itemprop="name">John Doe</h1>
      <h2 itemprop="jobTitle">Vice President, Finance</h2>
      <div itemprop="description">John is...</div>
    </div>
    <div id="tab-emp2" itemprop="employee" itemscope itemtype="https://schema.org/Person"
         itemref="photo-emp2">
      <h1 itemprop="name">Jane Roe</h1>
      <h2 itemprop="jobTitle">Vice President, Operations</h2>
      <div itemprop="description">Jane is...</div>
    </div>
    ...
  </div>
</body>

选项卡控件需要该结构,因此我无法重新排列标记。

itemref上的Person属性正确拖动图像&#39; https://schema.org/Person节点。

但是,image元素也显示为https://schema.org/ProfessionalService节点下的属性,这是不正确或不合适的。

如何将image个元素保留在当前位置,在Person下引用它们,但阻止它们出现在ProfessionalService下?

1 个答案:

答案 0 :(得分:0)

只需将itemscope属性添加到ul元素即可。您将获得一个额外的,断开连接的项目,但图像将不再是ProfessionalService项目的一部分。