2016-10-01 91 views
-1

我有以下的HTML是在Firefox中产生不匹配的标签错误:不匹配的标签,有望元

<html> 
    <head> 
     <meta http-equiv="content-type" content="text/html; charset=windows-1252;"> 
     <title>XYZ</title> 
    </head> 
    <body> 
    hello 
    </body> 
</html> 

由于meta tag概不关闭标签,我不明白为什么我收到此错误。

enter image description here

+1

您是否定义了doctype? – Soviut

+0

@Soviut什么是文档类型?我粘贴了正在加载的完整HTML页面并生成错误。 –

+0

删除charset = windows-1252中的';'; – j08691

回答

0

您需要定义一个文档类型,否则有些浏览器会自动承担一定的文档模式。像XHTML这样的特定模式需要关闭所有标签。

在这些更严格的模式下关闭标签的方式是在标签的末尾添加/

<meta ... /> 

相反,你应该总是定义一个文档类型。将以下内容添加到HTML的顶部以将其放入HTML5模式。

<!DOCTYPE html> 

这将接受像<meta><hr><br>没有结束标记的标签。

注意:这可能是Firefox中一个长期存在的bug。 https://bugzilla.mozilla.org/show_bug.cgi?id=501838

+0

将doctype添加到页面不会改变任何内容,同样会产生错误。我的meta标签出自w3schools.com,并且在数百万个网页中找不到相同类型的meta标签,并且没有关闭斜线。 –

+0

这可能是一个Firefox的错误,我已经更新了答案。无论哪种方式,您应该在文档的顶部有<!DOCTYPE html>'。 – Soviut

+0

发生此错误。如上所示的解决方案是用最后的“/”关闭元。 – user2051561