W3C 验证错误:“文档类型不允许此处的元素”div“;缺少 “object”, “ins”, “del”, “map”, “button” start-tag' 之一

W3C validation error: 'document type does not allow element "div" here; missing one of "object", "ins", "del", "map", "button" start-tag'

提问人:Daniele 提问时间:1/19/2016 最后编辑:unorDaniele 更新时间:8/26/2016 访问量:527

问:

我的源代码是:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="it" lang="it">
    <head>
        <title>Hi</title>
    </head>
    <body>
      <div id="content">
        <a href="product_displayer.cgi">
          <div style="background-image: url('../res/images/background.jpeg')">
              <img src="../res/images/products/thumbnails/image.png" alt="hello"/>
              <p>Hello hello hello</p>
          </div>
        </a>
      </div>
    </body>
</html>

如果我尝试验证代码,W3C 验证器会给我这个错误:

文档类型不允许此处的元素“div”;缺少 “object”, “ins”, “del”, “map”, “button” start-tag 之一

我该如何解决?

XHTML W3C 验证

评论

0赞 sideshowbarker 1/19/2016
最好只是放(并放下零件)。XHTML 1.0 现在早已过时。<!DOCTYPE html>xmlns="http://www.w3.org/1999/xhtml" xml:lang="it"
0赞 Mr Lister 1/20/2016
@sideshowbarker 假定 OP 文件的 MIME 类型为 。在这种情况下,删除 xmlns 是可以的。但是,如果这是一个XHTML文件(MIME类型),则浏览器肯定需要此属性!text/htmlapplication/xhtml+xml

答:

2赞 Quentin 1/19/2016 #1
    <a href="product_displayer.cgi">
      <div style="background-image: url('../res/images/background.jpeg')">

在 XHTML 1 中,锚点内不能有 div。

要么不要使用 div(或段落),要么使用 HTML 5,因为 HTML 5 确实允许这样做。