Javascript HTML5:元素<;集团>;

Javascript HTML5:元素<;集团>;,javascript,html,w3c,w3c-validation,Javascript,Html,W3c,W3c Validation,您建议如何将一个或多个元素组合成一个组 <!-- Not valid, see below - just ignore --> <ul> <li>Test1<li> <group id="2"><li>Test 2</li></group> <li>Test2<li> <li>Test3<li>

您建议如何将一个或多个元素组合成一个组

  <!-- Not valid, see below - just ignore -->
    <ul>
      <li>Test1<li>
      <group id="2"><li>Test 2</li></group>
      <li>Test2<li>
      <li>Test3<li>
    </ul>
 <!-- // -->

  <p>Test Text 1 <group id="3">Lorem ipsum dolor</group></p>

</body>
</html>
例如:

  <!-- Not valid, see below - just ignore -->
    <ul>
      <li>Test1<li>
      <group id="2"><li>Test 2</li></group>
      <li>Test2<li>
      <li>Test3<li>
    </ul>
 <!-- // -->

  <p>Test Text 1 <group id="3">Lorem ipsum dolor</group></p>

</body>
</html>

在这种情况下,您应该只使用类名:

  <!-- Not valid, see below - just ignore -->
    <ul>
      <li>Test1<li>
      <group id="2"><li>Test 2</li></group>
      <li>Test2<li>
      <li>Test3<li>
    </ul>
 <!-- // -->

  <p>Test Text 1 <group id="3">Lorem ipsum dolor</group></p>

</body>
</html>
<li class="group2">Test 2</li>
测试2
这取决于上下文。(或者我喜欢)。你想要符合语义的东西。例如,如果您有一篇文章,您将希望使用
标记。如果要定义页面的某个部分,请使用
。如果要对标题进行分组,请使用
。如果您正在执行x,请使用x标记

  <!-- Not valid, see below - just ignore -->
    <ul>
      <li>Test1<li>
      <group id="2"><li>Test 2</li></group>
      <li>Test2<li>
      <li>Test3<li>
    </ul>
 <!-- // -->

  <p>Test Text 1 <group id="3">Lorem ipsum dolor</group></p>

</body>
</html>

这个清单不停地列举。为上下文查找适当的元素。但是请注意,较旧的浏览器不知道如何处理元素,因此您需要在如何设置样式以及如何使用JavaScript查询元素时注意这一点。

上述内容无效,因为
元素只允许
  • 元素作为直接子元素。您是对的,我已经更正了我的问题。我正在寻找一个抽象的解决方案,不使用类标识。抱歉,您的编辑没有使问题更清楚。p中的一个列表元素和一段文本以什么方式属于一起?我的意思是,HTML5是否让我们能够以尊重和有效的方式对元素的部分进行分组?这确实给了它们相同的类属性,是的,但我认为分组OP确实意味着更像围绕它们的字段集之类的东西。而且,如果您想对
  • 等内容进行分组,请为它们指定相同的类名。还是有其他方法?@bfavaretto这取决于语义上下文。就像我在回答中说的。没有“对所有
    元素使用此标记”的笼统说法,因为HTML5添加了额外的语义来使用。就像我说的,如果它是一篇文章的一部分,那么使用
    标记,如果它是。。。不停地。它是关于什么在语义上是最好的。类更多的是用于将元素分类到不同的类中。我知道,我也同意,但他似乎在寻找跨块对内容进行分组的方法。例如,您有两个
    块,每个块内部都有一个不同的
    ,出于某种原因,您希望将它们组合在一起(例如从js访问,如在OP中)。那么唯一的方法就是给两个跨度赋予相同的类。@bfavaretto OP使用的组标记具有不同的
    id
    s,因此将是不同的组。但是如果他们试图从不同的块上下文中选择它们,那么是的,一个类可能是合适的。但是,它也可以放在两个
    标记中,并使用
    标记选择它。或者其他标签。如果没有具体的例子,总是很难说。让开发人员能够定义自己的、自定义的HTML5标记范围不是更好吗?一个作用域用于保留元素,另一个作用域用于自定义标记。我认为这是最新w3c规范的一个缺点。你怎么认为?
      <!-- Not valid, see below - just ignore -->
        <ul>
          <li>Test1<li>
          <group id="2"><li>Test 2</li></group>
          <li>Test2<li>
          <li>Test3<li>
        </ul>
     <!-- // -->
    
      <p>Test Text 1 <group id="3">Lorem ipsum dolor</group></p>
    
    </body>
    </html>