HTML5验证错误:看到了body start标记,但是同一类型的元素已经打开

时间:2012-02-14 20:02:39

标签: html5 validation

我希望有人知道如何解决此HTML5验证错误。当我尝试使用http://blog.genesispetaluma.com验证我的网页http://validator.w3.org时,它会给我以下错误代码:

  

错误第90行,第63列:看到了一个正文开始标记,但同一类型的元素已经打开。

<body class="home blog single-author two-column right-sidebar">

我将此错误解释为代码中有两个body标签。但是,我到处搜索,只能找到一个<body>(错误引用的那个)和一个</body>。谁能告诉我如何解决这个错误?

12 个答案:

答案 0 :(得分:10)

可能是因为:

<div id="wrapFix">

<div id="drawLogo1">
    <div id="drawLogo2">
        <img src="http://genesispetaluma.com/img/logoNew.png" alt="Genesis Fitness G stylelogo">
    </div>
</div> <!-- end of drawLogo1 -->

在你的头部标签和开口体标签之间。即第81-87行

答案 1 :(得分:9)

我遇到了类似的问题,但是<head>,给出了以下W3C标记错误:

  

看到了一个开头标记但是同一类型的元素已经打开

我有这段代码:

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<head>

当它应该是:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

我知道这是错的,但有时很难发现,因为你只是习惯了99%的时候头文代码是正确的。我显然已经粘贴了一些代码并最终出现在错误的地方。

这不是特定于您的问题,我知道,因为您的错误与<body>标记相关,但这是您正在寻找的那种。也许你的身体某处有一个<link><meta>标签,这意味着在<head>。没有看到你的代码,很难给你一个完美的答案。

答案 2 :(得分:2)

您正在使用的其中一个小部件(我相信的facebook按钮)是将HTML插入页面,而部分HTML是正文标记。不确定你是否可以采取任何措施,但我认为这是错误的原因。看起来像这样:

<body class="plugin transparent_widget ff4 win Locale_en_US">
</html>
</iframe>

答案 3 :(得分:1)

我收到了这个错误:

  

看到了一个开头标记但是同一类型的元素已经打开

我阅读了这篇文章,然后我注意到我的标签在头像之前列出了这个。

<title>Home</title>
<head>
</head>

it should have been
<head>
<title>Home</title>
</head>

答案 4 :(得分:0)

我收到了相同的错误消息:请检查<element><head>之间是否显示任何正文<body>,如上所述。

我的错误是由具有绝对位置的<div>标记引起的,用于在开发过程中显示一些页面信息 - 只需 错误位置在代码中。

答案 5 :(得分:0)

在我的情况下,它是facebook标签

<div id="fb-root"></div>

位于。

将其移至相关页面(全局不需要)对其进行排序。所以,是的,Emil H上面提供的答案是正确的。

答案 6 :(得分:0)

嗨,在我的情况下,hgroup标签是我遇到验证错误I的原因,从head标签中删除此标签并将其放在body标签之后,此后文档现在有效。

答案 7 :(得分:0)

我遇到与<head>标签类似的问题。我使用https://validator.w3.org

看几个例子来解决这个问题:

  • <script>应位于<head>

enter image description here

  • css应位于<head>

enter image description here

答案 8 :(得分:0)

仅仅为了记录,我有完全相同的问题,似乎包括head元素中的一些php文件奇怪地给出了问题,即使Firefox的视图源不打印这样的PHP代码也没有标签

<head>
  <? include("./file.php"); ?>
  <title><? echo $title ?></title>
</head>

解决使用:

<? include("./file.php"); ?>
<!DOCTYPE html>
<html>
<head>
  <title><? echo $title ?></title>
</head>
<body>
...
...

答案 9 :(得分:0)

如果您的问题头部和身体都显示验证错误,只需删除从头部显示文本并将其保留在正文中。 我最近一直面临这个问题。 例如你有文本显示在头部内部的标题只是从头部删除标题并保持在正文......问题解决了...谢谢

答案 10 :(得分:0)

据我所知,它发生在上述情况下-

  1. 当您误以为<head>标签选择<header>时。
  2. 当您的<header><nav><section><footer>标签不在<body>标签之外。

因此,在创建页面后,您可以验证这些更改here

答案 11 :(得分:0)

还请记住,如果您从松懈之类的东西中复制/粘贴代码,它们将具有“特殊字符”格式(通常是不可见的),这可能会导致该问题。

这里有一个视频演示:https://drive.google.com/file/d/1OJS15zmSvzhVXVLcQGGhePZGNCxWHocN/view