Chr*_*ris 2 html javascript validation jquery w3c-validation
我有一些jQuery代码,没有它在文档中它传递验证很好,但它与它在其中会导致错误.有问题的代码在这里:
$.ajax({
type: "GET",
url: "data.xml",
dataType: "xml",
success: function(xml) {
//Update error info
errors = $(xml).find("Errors").find("*").filter(function ()
{
return $(this).children().length === 0;
});
if (errors.length == 0)
{
statuscontent = "<img src='/web/resources/graphics/accept.png' alt='' /> System OK";
}
else
{
statuscontent = "<img src='/web/resources/graphics/exclamation.png' alt='' /> "+errors.length+" System error"+(errors.length>1?"s":"");
}
$("#top-bar-systemstatus a").html(statuscontent);
//Update timestamp
$("#top-bar-timestamp").html($(xml).find("Timestamp").text());
//Update storename
$("#top-bar-storename").html("Store: "+$(xml).find("StoreName").text());
}
});
Run Code Online (Sandbox Code Playgroud)
页面上有很多其他jQuery代码,这些代码都运行良好并且没有错误,因此我无法理解这有什么问题.页面不是"实时",因此不幸的是无法提供链接.
它列出的错误是
文档类型不允许元素"img"在这里
它指向的代码行在这里:
statuscontent = "<img src='/web/resources/graphics/accept.png' alt='' /> System OK";
Run Code Online (Sandbox Code Playgroud)
它也有下一个任务的问题 statuscontent
小智 9
这是因为你正在使用XHTML.这确实是无效的,因为验证器的行为就好像脚本标记之间的代码是XML(XHTML是XML的子集).这是无效的XHTML,因为img-tags不属于script-tags.
要使其验证,请使用CDATA来转义脚本中的任何XML.
<script type="text/javascript">
// <![CDATA[
... your code
// ]]>
</script>
Run Code Online (Sandbox Code Playgroud)
在HTML 5中,这不是问题.如果您创建一个新网站,我建议使用HTML 5而不是XHTML.仅在修改现有网站时使用XHTML.
| 归档时间: |
|
| 查看次数: |
1074 次 |
| 最近记录: |