当我在带有jquery代码的html页面上运行W3C验证器时,我遇到了很多错误。这是我正在使用的jquery代码的一个例子:
jQuery(document).ready(function($)
{
/*<![CDATA[*/
$("body").append("<div id='mainBody'>");
$("#mainBody").append("<h1 align='center'>SCORM Authoring Tools");
$("#mainBody").append("<table id='myTable' border='1' />");
$("#myTable").append("<tr id='tr1' />");
/*]]>*/
});
这是这些错误的一个例子:
Line 4, Column 267: end tag for element "TD" which is not open
append("<td class='rows'>Product</td>");
$("#tr1").append("<td class='rows'>…
我正在使用<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">;
谢谢
答案 0 :(得分:4)
导致问题的不是您粘贴的代码。这是你没有粘贴的代码。下面的代码在http://validator.w3.org/#validate_by_input上为我验证并发出警告:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html>
<head>
<title>JS Bin</title>
<script type="text/javascript">
jQuery(document).ready(function($)
{
/*<![CDATA[*/
$("body").append("<div id='mainBody'>");
$("#mainBody").append("<h1 align='center'>SCORM Authoring Tools");
$("#mainBody").append("<table id='myTable' border='1' />");
$("#myTable").append("<tr id='tr1' />");
/*]]>*/
});
</script>
</head>
<body>
<p id="hello">Hello World</p>
</body>
</html>
我认为可能缺少<script>
标签。
正如Felix King指出的那样,您也可以删除CDATA
条评论,因为您要使用HTML而不是XML进行验证。
答案 1 :(得分:1)
你想把它放在你的所有代码周围:
/*<![CDATA[*/
jQuery(document).ready(function($)
{
$("body").append("<div id='mainBody'>");
$("#mainBody").append("<h1 align='center'>SCORM Authoring Tools");
$("#mainBody").append("<table id='myTable' border='1' />");
$("#myTable").append("<tr id='tr1' />");
});
/*]]>*/