较小的运算符在javascript代码中给出错误
我在我的xhtml文件中有一个javascript代码。那就是:较小的运算符在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>
问题IST,里面的for循环它给出了“<”经营者说,错误“元素的内容必须包含合式的字符数据或标记。”我认为它认为“<”的,即“身体一个HTML元素,HTML等,但我不知道我怎样才能解决这个
感谢
编辑:?现在我试过,但仍然是一个错误。是否有语法错误,你看到
<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++) {
^
回答:
尝试使用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>
回答:
Facelets的是一种基于XML的视图技术。字符<
,>
和&
是XML中的特殊字符。它们需要分别替换为<
,>
和&
。
for (var i = 0; i < el.length; i++) { // your code
}
最好将整个JS代码包装在<![CDATA[
block中。
以上是 较小的运算符在javascript代码中给出错误 的全部内容, 来源链接: utcz.com/qa/257686.html