这里我有一个循环到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>
当我在网络浏览器中加载页面时,我收到以下错误(显示在谷歌浏览器开发人员工具中)
答案 0 :(得分:3)
正如您在屏幕截图中看到的那样,HTML页面中的脚本有<
,其中应该有<
。这是您的语法错误。您是否使用一些“逃避”HTML代码的模板语言生成此页面?这会导致这个问题。
一个好的解决方案是将JavaScript代码放在单独的.js文件中。这应该避免转义并保持代码不变。
如果您确实需要在HTML页面中安装内联JavaScript,那么大多数模板语言都可以关闭特定文本片段的转义。
答案 1 :(得分:2)
图片2中的线与图片1中的线不同。<
代替<
,<
是initWithSomething
的HTML转义码。随后的错误不在于您的代码本身,而在于您的开发工作流程中的某个位置。您要么使用错误的内容(我认为不太可能)保存文件,要么您的网络服务器或任何预处理器都会被脚本标记内的HTML转义代码搞乱。