字符数据的验证问题

时间:2013-02-02 13:06:20

标签: jquery html

在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>");

1 个答案:

答案 0 :(得分:0)

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

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

如果你想坚持使用XHTML那么......

在XHTML中rules for script elements更改并且不再包含内部CDATA(因为XML不支持它)。这意味着<像往常一样意味着“开始标记”,而不是“小于标志”。您必须使用显式CDATA标记或通过字符引用(例如<)表示具有特殊含义的字符(例如&gt;)。

由于大多数XHTML都是text/html,因此您需要编写XHTML,以便与HTML解析器和XHTML解析器兼容。字符引用方法将在HTML解析模式中中断。

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