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 页面中的脚本有 <
,但它应该有 <
。这是你的语法错误。您是否使用 "escapes" HTML 代码的模板语言生成此页面?那会导致这个问题。
一个好的解决方案是将您的 JavaScript 代码放在一个单独的 .js 文件中。那应该避免转义并保持代码不变。
如果您确实需要在 HTML 页面中使用内联 JavaScript,大多数模板语言都有办法关闭特定文本的转义。
图2中的行与图1中的行不一样。<
被替换为<
,这是<
的HTML转义码=].随后的错误并不在于您的代码本身,而是在于您的开发工作流程中的某个地方。您要么用错误的内容保存了文件(我认为这不太可能),要么您的网络服务器或任何预处理器因 HTML 脚本标签内的转义代码而搞砸了。
这里我有一个循环,用于迭代 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 页面中的脚本有 <
,但它应该有 <
。这是你的语法错误。您是否使用 "escapes" HTML 代码的模板语言生成此页面?那会导致这个问题。
一个好的解决方案是将您的 JavaScript 代码放在一个单独的 .js 文件中。那应该避免转义并保持代码不变。
如果您确实需要在 HTML 页面中使用内联 JavaScript,大多数模板语言都有办法关闭特定文本的转义。
图2中的行与图1中的行不一样。<
被替换为<
,这是<
的HTML转义码=].随后的错误并不在于您的代码本身,而是在于您的开发工作流程中的某个地方。您要么用错误的内容保存了文件(我认为这不太可能),要么您的网络服务器或任何预处理器因 HTML 脚本标签内的转义代码而搞砸了。