提问人:Sarah 提问时间:4/16/2012 最后编辑:Paul SweatteSarah 更新时间:1/14/2014 访问量:104
在 $.queue 中验证 XHTML
Validating XHTML inside $.queue
问:
我正在使用以下 JavaScript:
.queue(function() {
$('#num').html('10');
element
.html('First line<br /><span id="small">Small text<br />Small text again<br />small text again here</span>')
.dequeue();
})
当我通过 W3C 的验证器运行它时,它说“文档类型不允许此处的元素 br/span”。
有没有其他方法可以做到这一点来验证它?
谢谢!
答:
-1赞
Paul Sweatte
9/11/2012
#1
使用代替多个 's 和 's:pre
span
br
'<pre>First line
Small text
Small text again
small text again here</pre>'
以下代码适用于使用 JavaScript 控制台的 stackoverflow.com,并使用 W3C 标记检查器进行验证:
$("body").queue( function() { $(this).html("<pre>hi there</pre>") } ).dequeue();
这将最少地产生:
<!doctype html>
<html>
<head><title></title></head>
<body>
<pre>hi there</pre>
</body>
</html>
评论
0赞
Quentin
9/11/2012
那里也不允许使用预元素。
0赞
Paul Sweatte
9/11/2012
@Quentin 在 W3C 验证器或 jQuery 中?
0赞
Quentin
9/11/2012
在元素内部。jQuery的使用是无关紧要的。验证者只是告诉你这是不允许的。<script>
0赞
Paul Sweatte
9/11/2012
@Quentin 脚本元素在哪里?
1赞
Quentin
9/11/2012
重新编辑:以下代码适用于 stackoverflow.com - 正如我在回答中解释的那样,除非使用XHTML,否则不应显示该错误报告。Stackoverflow 未使用 XHTML。
1赞
Quentin
9/11/2012
#2
除非你使用的是 XHTML,否则你不应该得到这个错误(除非你先得到其他几个错误),在这种情况下,你必须跳过“假装你的 XHTML 是 HTML”的许多障碍。
在此特定情况下,这是嵌入式样式表和脚本的准则。
简而言之,您应该将 JS 移动到外部文件或将其包装在 CDATA 标记中。
我建议改用 HTML(除非您实际上在生产链中使用 XML 工具,而大多数人没有)。
评论