0

我的文档类型是html5。我正在验证这个 HTML:

<a class="article-link-block" href="http://localhost/article/231">

    <img src="http://localhost/images/article-image.jpg">

    <div class="article-info">
        <a class="title" href="http://localhost/article/231">Title of the article</a>
        <a class="category" href="http://localhost/category/5">Category</a>
        <div class="views">24x</div>
        <div class="date">13.3.2013</div>
    </div>

</a>

我收到此错误:

Error: An a start tag seen but an element of the same type was already open.

我希望整体div成为一个锚标签(article-link-block),并在其中另一个锚标签到类别、用户等和其他 div(上面的代码被简化为只有文章和类别链接。)

如何在 html 验证期间摆脱此错误?

4

1 回答 1

2

如果您希望这一切都得到验证,您将不得不选择是想要块级链接还是子链接。你不能两者兼得。从规格

内容模型:透明,但不能有交互式内容后代。

互动内容是:

a audio(如果controls属性存在) button details embed iframe img(如果usemap属性存在) input(如果type属性不处于隐藏状态) keygen label object(如果usemap属性存在) select textarea video(如果controls属性存在)

所以你的选择是:

  1. 忽略验证器并保持原样(在这种情况下,您无权期望所有浏览器都以相同的方式运行)
  2. 完全选择不同的标记结构
  3. click用普通元素和事件替换块级或子链接
于 2013-03-22T14:03:45.710 回答