0

使用直接输入到 W3schools 验证器中,我遇到了很多错误,但其中很多错误非常相似,如下所示:

此处不允许使用字符数据:

var $tr = $("<tr class='optionAndAnswer' align='center'>");

(指向末尾的“)

此外,我一直在下面得到这个,我不太明白问题是什么:

这个怎么样?

var $options = $("<td><table class='option'><tbody><tr><td class='opt'>1. Option Type:</td></tr></tbody></table></td>");
4

1 回答 1

0

听起来您正在使用 XHTML 并将您的 JavaScript 内联在一个<script>元素中。

解决这个问题的最简单方法是不使用 XHTML,这给大多数人带来的麻烦多于好处。请改用 HTML 4.01 Strict 或 HTML 5 草稿。

如果你想坚持使用 XHTML,那么……</p>

在 XHTML 中,脚本元素的规则发生了变化,不再包含内在的 CDATA(因为 XML 不支持它)。这意味着这<意味着像往常一样“开始标记”而不是“小于符号”。您必须使用显式 CDATA 标记或<通过字符引用(例如 )来表示具有特殊含义的字符(例如&gt;)。

由于大多数 XHTML 都是在text/html您编写 XHTML 时提供的,因此它与 HTML 解析器以及 XHTML 解析器兼容。字符引用方法将在 HTML 解析模式下中断。

请参阅HTML 兼容性指南,其中解释了如何将 CDATA 标记与脚本元素中的 HTML 和 XHTML 兼容。请注意他们使用外部脚本的建议。

于 2013-02-02T13:49:35.727 回答