【发布时间】:2012-01-12 05:59:11
【问题描述】:
我正在使用 XHTML 1.0 严格文档类型。 我的页面末尾有一些 JavaScript:
$.each(x, function(k, v){
txt += '<li>';
txt += '<strong>' + v.description + '</strong>: $' + v.postage;
txt += '</li>';
当我在 W3.org 上验证我的文档时,它给了我以下错误:
txt += '<ul><li>'; ✉上面提到的元素是在不允许的上下文中找到的。这可能意味着您的元素嵌套不正确—— 例如“body”部分而不是内部的“style”元素 “head”——或者两个重叠的元素(这是不允许的)。
此错误的一个常见原因是在 HTML 文档中使用了 XHTML 语法。由于 HTML 的隐式封闭元素规则,这 错误会产生级联效应。例如,使用 XHTML a 的“head”部分中“meta”和“link”的“自动关闭”标签 HTML 文档可能会导致解析器推断“头”的结尾 部分和“正文”部分的开头(其中“链接”和 不允许使用“元”;因此报告的错误)。
我是 JavaScript 的初学者,如果有人能帮我解决我页面上的这个验证错误,那就太好了。
【问题讨论】:
-
你刚刚回答了自己。 W3C 抱怨您的文档的 部分中没有 JavaScript 代码。大多数人将他们的脚本放在一个单独的文件中,然后将其包含在标题部分中
-
您的(内联)脚本是否包含在CDATA-Tags 中?
-
@Lee Scott:从什么时候开始,
<script>不允许在<head>之外添加标签? -
我真的不知道..但这就是错误的意思,它可能与他声明的 HTML 类型有关
-
@LeeScott - 这不是错误的意思,它只提供有关问题常见原因的建议,根本没有提到脚本块(它 说 style 元素应该放在头部,所以也许你把两者混为一谈了?)。查看真正问题的答案。
标签: javascript html css