较小的运算符在javascript代码中给出错误[重复]
Posted
技术标签:
【中文标题】较小的运算符在javascript代码中给出错误[重复]【英文标题】:Smaller operator gives error in javascript code [duplicate] 【发布时间】:2013-07-04 22:00:00 【问题描述】:我的 xhtml 文件中有一个 javascript 代码。这里是:
<h:head>
<h:outputStylesheet library="css" name="styles.css" />
<script>
function dataTableSelectOneRadio(radio)
var id = radio.name.substring(radio.name.lastIndexOf(':'));
var el = radio.form.elements;
for (var i = 0; i < el.length; i++)
if (el[i].name.substring(el[i].name.lastIndexOf(':')) == id)
el[i].checked = false;
radio.checked = true;
</script>
</h:head>
问题在于,在 for 循环中,“
谢谢
编辑:我现在尝试了这个,但仍然是一个错误。您是否看到语法错误?
<script>
function dataTableSelectOneRadio(radio)
var id = radio.name.substring(radio.name.lastIndexOf(':'));
var el = radio.form.elements;
for (var i = 0; i < el.length; i++)
if (el[i].name.substring(el[i].name.lastIndexOf(':')) == id)
el[i].checked = false;
radio.checked = true;
</script>
错误表明:
myaccounts.xhtml:5:52 Expected ) but found ;
for (var i = 0; i < el.length; i++)
^
myaccounts.xhtml:5:57 Expected ; but found )
for (var i = 0; i < el.length; i++)
^
【问题讨论】:
***.com/questions/4338538/… 【参考方案1】:尝试使用 CDATA 让 XML 解析器不读取 javascript 内容,您的代码将是这样的:
<h:head>
<h:outputStylesheet library="css" name="styles.css" />
<script>
// <![CDATA[
function dataTableSelectOneRadio(radio)
var id = radio.name.substring(radio.name.lastIndexOf(':'));
var el = radio.form.elements;
for (var i = 0; i < el.length; i++)
if (el[i].name.substring(el[i].name.lastIndexOf(':')) == id)
el[i].checked = false;
radio.checked = true;
// ]]>
</script>
</h:head>
【讨论】:
这似乎工作,现在没有错误,谢谢 也能正常运行,谢谢【参考方案2】:Facelets 是一种基于 XML 的视图技术。字符&lt;
、&gt;
和&amp;
是XML 中的特殊字符。它们需要分别替换为&lt;
、&gt;
和&amp;
。
for (var i = 0; i < el.length; i++)
// your code
最好将整个 JS 代码包装在 <![CDATA[
block 中。
【讨论】:
谢谢,我试过了,但这次它说: myaccounts.xhtml:5:52 Expected ) but found ; for (var i = 0; i < el.length; i++) ^ myaccounts.xhtml:5:57 预期;但找到 ) for (var i = 0; i < el.length; i++) ^以上是关于较小的运算符在javascript代码中给出错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章
在R中将较大的Dataframe子化为较小的Dataframe?