w3c验证器和(var i = 0; i

时间:2011-12-29 19:36:47

标签: javascript validation

我正在为ie7优化this webiste,现在只是在ie8上测试它并且它不会按预期工作,第一次更新版本给我带来问题......

所以我想我会验证,因为我不能在ie(我可以吗?)

中得到javascript错误

它在表达式中跳出一些错误,如:

for (var i=0;i<lista.length;i++)

话说:

 Line 256, Column 32: character ";" not allowed in attribute specification list 

问题是:

  • 我应该忽略这个错误吗?或者它实际上可能使页面崩溃?
  • (你知道如何在IE7中调试错误吗?)

3 个答案:

答案 0 :(得分:2)

您已指定XHTML doctype:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

在XHTML中,您应该将JavaScript代码放在CDATA sections中,因为<字符正在作为标记的开头插入。

<script>
//<![CDATA[
...
//]]>
</script>

答案 1 :(得分:0)

你可以查看jquery的每个函数:

$.each(lista, function(index, value) {
     // do what's in your for loop
});

答案 2 :(得分:0)

这是因为在过去我们必须这样做:

<script>
<!--
   for(var i = 0; i < 0; i++) {}
-->
</script>

comment JavaScript从html标记中删除。

  

专门编写JavaScript语言来接受开始   HTML注释作为脚本中的第一件事而忽略   它可以用HTML注释来隐藏脚本   来自使用Netscape 1,Mozaic,Internet Explorer 1,Internet的人   资源管理器2,和其他类似的老式浏览器没有任何人   再使用了。这些史前浏览器(用JavaScript术语)   这意味着当您在过时的JavaScript中看到引用时   按顺序将JavaScript包装在HTML注释中的教程   将其隐藏起来&#34;年龄较大的&#34;浏览器。