2010-11-18 76 views
0

当我使用HTML验证:有效的HTML - '<' or '>' 在<script>标签之间

http://validator.w3.org/

它给了我一个错误。在我的网页的标题,我有这样的事情:

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#countdown').countdown({ 
     until: '+2d+3h+1m+6s', 
     layout: '{d<}{dn} {dl}, {d>}{hnn}:{mnn}:{snn}' 
    }); 
}); 
</script> 

被赋予一个字符串中layout该器件内置一个<。验证器发出错误。

因为它是脚本标记的一部分,我只是打折吗?这与验证器有关吗?

我知道有些人可能会建议把它放在一个外部文件中,但它是动态的,我不想弄清楚。

回答

0

如HTML 4建议的说明中提到有关元素内容指定非HTML数据,结束标记SCRIPT元素中承认,但其他类型的标记 - 例如开始标记和评论 - 不是。对于定义为具有CDATA内容的元素,这是SGML的一个不直观的怪癖。

尝试

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('#countdown').countdown({ 
     until: '+2d+3h+1m+6s', 
     layout: '{d<}{dn} {dl}, {d\>}{hnn}:{mnn}:{snn}' 
    }); 
}); 
</script> 
+0

这是真的,但不会与马太报告错误(这表明,XHTML正在使用所以对于HTML的规则并不适用于作为脚本元素穿上”匹配没有内在的CDATA) – Quentin 2010-11-18 20:35:01