当我使用html验证器时:
它给了我一个错误。在我的页面标题中,我有类似的东西:
<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 :(得分:5)
用CDATA包装它
<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){
$('#countdown').countdown({
until: '+2d+3h+1m+6s',
layout: '{d<}{dn} {dl}, {d>}{hnn}:{mnn}:{snn}'
});
});
//]]>
</script>
参考:https://developer.mozilla.org/en/properly_using_css_and_javascript_in_xhtml_documents
答案 1 :(得分:0)
正如HTML 4 Recommendation关于在元素内容中指定非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>