Getting "Uncaught SyntaxError: Unexpected token ;" error while using for loop

Getting "Uncaught SyntaxError: Unexpected token ;" error while using for loop

这里我有一个循环,用于迭代 JSF 应用程序中的 html 元素。

        var tmp = document.getElementsByTagName("input");
        var counter = 0;
        var arr = new Array();
        for (var i = 0; i<tmp.length; i++) {
            if (tmp[i].parentNode.nodeName === "TD" && tmp[i].getAttribute("type") !== "submit") {
                arr[counter] = tmp[i];
                counter++;
            }
        }

这个循环在这个脚本标签内:

<script type="text/javascript">
<!--    
     //-->
</script>

当我在网络浏览器中加载页面时出现以下错误(显示在 google chrome 开发人员工具中)

正如您在屏幕截图中看到的那样,HTML 页面中的脚本有 &lt;,但它应该有 <。这是你的语法错误。您是否使用 "escapes" HTML 代码的模板语言生成此页面?那会导致这个问题。

一个好的解决方案是将您的 JavaScript 代码放在一个单独的 .js 文件中。那应该避免转义并保持代码不变。

如果您确实需要在 HTML 页面中使用内联 JavaScript,大多数模板语言都有办法关闭特定文本的转义。

图2中的行与图1中的行不一样。<被替换为&lt;,这是<的HTML转义码=].随后的错误并不在于您的代码本身,而是在于您的开发工作流程中的某个地方。您要么用错误的内容保存了文件(我认为这不太可能),要么您的网络服务器或任何预处理器因 HTML 脚本标签内的转义代码而搞砸了。