2011-05-01 57 views
4

你好我验证我对源HTML 5与标题标签Html5的验证错误

但我得到这个错误,现在已经知道如何解决这个问题:

<meta charset="utf-8"><title>Rode kruis Vrijwilligers applicatie</title><link href="/css/blitzer/jquery-ui-1.8.11.custom.css" media="screen" rel="stylesheet" type="text/css" > 

这是错误:

XHTML元素标题不允许作为此上下文中XHTML元素元的子元素。 (抑制来自该子树的进一步错误。)

任何想法的?

+0

有一个开放的bug进行验证对于这个问题:http://www.w3.org/Bugs/Public/show_bug.cgi?id=9967。仅仅因为html元素上存在xmlns属性,就没有理由切换到XHTML验证模式,但似乎这就是验证器的作用。 – Alohci 2011-05-01 20:53:05

+0

标题标签不属于元标记...... – 2012-07-17 20:03:31

回答

5

在XHTML是严格的关于XML的规则,每一个被打开的标签应该被嵌套和正确关闭,标签如<area />,<base />,<basefont />,<br />,<hr />,<input />,<img />,<link />,<meta />只有用带有属性,所以你必须用“/>”,而不是关闭它们“>” 在XML这是你如何打开,并在相同的标签关闭一个标签,这是你的HTML应该是什么样子:

<!doctype html> 
<html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 
    <title>Rode kruis Vrijwilligers applicatie</title> 
    <link href="/css/blitzer/jquery-ui-1.8.11.custom.css" media="screen" rel="stylesheet" type="text/css" > 
    </head> 
    <body> 
    Test. 
    </body> 
</html> 
3

您需要关闭meta标签 - 它是一个空标签:

<meta charset="utf-8" /> 

XHTML是一种XML方言,所以空元素应该关闭(所以<br>是无效的XHTML,但<br />是)。

+1

只有当您声明HTML5文档符合xhtml标准时,才会要求使用哪个(如果我没有弄错)。 HTML5本身并不要求你关闭这样的标签,虽然它可能仍然是一个好习惯。此外,在问题代码示例中,'link'标签需要同样关闭。 – Jeroen 2011-05-01 19:25:08

+0

这是我的doctype声明:<!DOCTYPE html> – sanders 2011-05-01 19:28:13

+1

@sanders - 看起来像您将专门声明您的HTML为XML,XHTML(请参阅xmlns属性)。 – Oded 2011-05-01 19:29:16

2

正如第一个回答(也应该解决问题)的评论中提到的,另一种方法是使用纯HTML5而不需要XML。例如,以下代码将得到验证:

<!doctype html><html><head> 
<meta charset="utf-8"><title>Rode kruis Vrijwilligers applicatie</title><link href="/css/blitzer/jquery-ui-1.8.11.custom.css" media="screen" rel="stylesheet" type="text/css" > 
</head><body>Test.</body></html> 

中间一行是原始代码。

验证直接输入此: http://validator.w3.org/