2013-03-23 76 views
0

我跑我在W3号验证的网站,并得到这个错误...验证,</a>标签:“结束标签的嵌套违反规则”

第16行,第4列:结束标签的嵌套违反规则。

</a> 

什么问题?我努力写好的标记,只有2个错误,我修正了另一个错误,但这个我只是不能解决...

+1

你能提供更多的代码吗? – Lemurr 2013-03-23 20:25:58

+5

没有看到剩余的标记......这可能意味着你正在关闭一个没有打开它的“”,或者它在非法的地方(在一个元素内不允许进入)。 – Oded 2013-03-23 20:26:08

+0

检查实例http://stackoverflow.com/questions/14003588/html-invalid-validation;最有可能你有一个小姐放置标签。 – Trinimon 2013-03-23 20:27:42

回答

12

这意味着你有不匹配的标签。

例如,下面的代码将抛出错误描述:

<a href=''><b>Some text</a></b> 

既然你做了点声明,你想写出好的标记和你没有任何其他错误,我想你已经知道了,那可能是什么原因造成的。

我的猜测是,您的标签没有在您的<a>标签内正确关闭。

例如,在上面给出的示例中,您可能会在正确的位置关闭</b>标记,但可能会因为打印错误而导致识别为结束标记 - 例如可能缺少斜杠?这将是最合理的,并且容易错过。

或者另一个例子 - 也许你有这样的代码:

<a href=''><img src='pic.jpg'></a> 

在一个HTML文档,上面的代码是完全有效的。但是,如果您已将<DOCTYPE>指定为xhtml,则它无效,因为在xhtml中所有标记都需要关闭,而上面的<img>则不是。这将需要添加到它像这样的结束斜杠:

<a href=''><img src='pic.jpg' /></a> 

我的猜测是,你的错误是沿着这些路线的东西。

你没有向我们展示产生错误的代码,所以我在黑暗中拍摄了一下,但这是我的猜测。

我也会说,虽然W3C的验证器是一个很好的资源,但如果您使用体面的IDE编写代码,代码编辑器应该在编写代码时突出显示任何类似的语法错误。这将使得很容易看到问题。即使某些浏览器'查看源功能会显示可能会显示问题的语法高亮显示。

0

有点晚了,但可以用于其他人! 在“嵌套规则”中,您不能打开标签,然后在其中打开另一个标签,但在第一个标签之外关闭它!
哈哈哈的声音不那么清晰!一个例子胜过千言万语,因此:

这会给你一个嵌套规则错误!

...blabla <em><b>blibloblu</em></b> blablabla.... 

虽然这是正确的!

...blabla <em><b>blibloblu</b></em> blablabla.... 

希望这会帮助一些!