在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>");
答案 0 :(得分:0)
听起来您正在使用XHTML并将JavaScript内联放在<script>
元素中。
解决此问题的最简单方法是不使用XHTML ,这会给大多数人带来更多麻烦。请改用HTML 4.01 Strict或HTML 5草稿。
如果你想坚持使用XHTML那么......
在XHTML中rules for script elements更改并且不再包含内部CDATA(因为XML不支持它)。这意味着<
像往常一样意味着“开始标记”,而不是“小于标志”。您必须使用显式CDATA标记或通过字符引用(例如<
)表示具有特殊含义的字符(例如>
)。
由于大多数XHTML都是text/html
,因此您需要编写XHTML,以便与HTML解析器和XHTML解析器兼容。字符引用方法将在HTML解析模式中中断。
请参阅the HTML Compatibility Guidelines,其中解释了如何使CDATA标记与脚本元素中的HTML和XHTML兼容。请注意他们建议使用外部脚本。