我的页面中有以下html代码:
<a class="fancybox" href="best-price.php">
<div id="bestprice">
</div><!--visitorinfo-->
</a>
在验证器上,我有以下消息:
<div id="bestprice">
上述元素不允许出现在上下文中 你放了它;其他提到的元素是唯一的元素 都允许在那里,并可以包含提到的元素。这个 可能意味着你需要一个包含元素,或者你可能需要 忘记关闭上一个元素。
此消息的一个可能原因是您试图放置 内联级元素(例如&#34;
<p>
&#34;或&#34;<table>
&#34;)内联内部 元素(例如&#34;<a>
&#34;,&#34;<span>
&#34;或&#34;<font>
&#34;)。
有什么想法吗?
答案 0 :(得分:5)
在HTML5之前,您无法在<div>
标记内添加<a>
标记用于doctypes。但你可以这样做。
<a class="fancybox" href="best-price.php">
<span id="bestprice">
</span>
</a>
4.01过渡期: http://validator.w3.org/#validate_by_input
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><!-- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -->
<head>
<title>test</title>
</head>
<body>
<a class="fancybox" href="best-price.php">
<span id="bestprice">
</span>
</a>
</body>
</html>
HTML5: http://validator.w3.org/#validate_by_input
<!DOCTYPE html>
<head>
<title>test</title>
</head>
<body>
<a class="fancybox" href="best-price.php">
<span id="bestprice">
</span>
</a>
</body>
</html>
注意:正如Rob在评论中提到的那样。这,
<a class="fancybox" href="best-price.php">
<div id="bestprice">
</div>
</a>
将在HTML5中验证,但不会在较旧的doctypes中验证。
答案 1 :(得分:1)
使用<span>
替换<div>
<a class="fancybox" href="best-price.php">
<span id="bestprice">
blabla
</span><!--visitorinfo-->
</a>
添加CSS,使其像块元素一样:
#bestprice {
display: block;
}