【问题标题】:Is it OK to use a self closing DIV tag? [duplicate]可以使用自闭合 DIV 标签吗? [复制]
【发布时间】:2011-12-19 18:42:39
【问题描述】:

可能重复:
Are self-closing tags valid in HTML5?

例如:

<div id="myDiv" />

然后会做一些事情来使用 Javascript 填充这个 div。

这是有效的 HTML 吗?

【问题讨论】:

  • 我会诚实地说不。我觉得只有某些标签可以在 xhtml 中自动关闭。其中包括
    、。如果它有效,那么请随意使用它。

标签: html


【解决方案1】:

没有。 HTML 4.x 没有任何自闭标签的概念。

在 XHTML 中有效。

【讨论】:

  • 这是正确的 - 同样,对于我们这些使用 AngularJS 或类似框架的人来说,自关闭 DIV 会破坏 IE8 中的应用程序。
  • 那你叫什么img标签呢?
  • 请注意使用 jquery,因为有时当您在某些地方有一个自动关闭标签时它不会正常工作。
  • @Stone - 你能给我举个例子/解释吗?我在任何地方都没有看到。
  • @StevenLinn img 元素称为“空元素”,或者在 HTML 4.x 术语中称为“空元素”。
【解决方案2】:

Div 不是有效的自闭合标签。有一个空的 div 最好这样做:

<div id="myDiv"></div>

【讨论】:

    【解决方案3】:

    不,它是有效的 XML(不是 HTML),据我所知,只有当文档使用 application/xml mimetype 发送时才会被接受。

    但是,它可以与 XHTML 和 XHTML Doctype 声明一起使用。

    【讨论】:

      【解决方案4】:

      根据 XML 声明以及 XHTML 1.0 和 1.1 文档定义,这很好:当紧跟空结束开始标记 (/) 时,可以使用空结束标记 (&gt;),你的代码相当于&lt;div id="myDiv"&gt;&lt;/div&gt;

      任何特定的消费者是否能够正确处理这一点完全是另一回事。

      HTML 4.01 使用的 SGML 声明允许缩短标签,但它对空端标签有不同的语法;在那里你可以写&lt;div id="abc"/this is a non-empty div/。同样,对于浏览器的支持,里程可能会有所不同。 (我的钱是“无”。)

      HTML 的未来版本(HTML5?如果该名称仍然存在的话)不再作为 SGML 语言实现,因此它们只是允许他们所说的做,而不求助于正式的语法。

      【讨论】:

      • +1 了解更多详情。也许相应的链接会有所帮助^.^
      • @Howdy_McGee:检查 W3C,他们有 DTD 以及 HTML 4.01 的(多个版本的)SGML 声明,以及 XML 的(强制性)SGML 声明。在 Linux 上,查看 /usr/share/xml/usr/share/sgml
      【解决方案5】:

      【讨论】:

        【解决方案6】:

        我通过 W3C validator 运行了这两个代码块。将代码复制并粘贴到“通过直接输入验证”选项卡下的输入中,亲自查看结果。

        <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
        <html>
          <head>
            <title>title</title>
            <meta http-equiv="content-type" content="text/html;charset=UTF-8" >
          </head>
          <body><div id="Mydiv" /></body>
        </html>
        

        Doctype 为过渡 HTML 4.01 的代码块未通过验证过程。

        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
          <head>
            <title>Test</title>
            <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
          </head>
          <body><div id="Mydiv" /></body>
        </html>
        

        当我添加 XHTML 1.0 过渡文档类型,将元标记更改为自结束标记,并在 html xmlns 行中添加时,验证通过。

        所以要回答您问题的前半部分,它是 XHTML 1.0 过渡文档类型下的有效 HTML。您是否可以使用 javascript 正确填充它,我不确定。

        【讨论】:

          猜你喜欢
          • 2017-09-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多