较小的运算符在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代码包装在<