0

我在 XSLT 样式表中使用下面的 javascript 代码。它在没有 for 循环的情况下工作。但是我在“<”附近收到错误非法语法错误。请帮助我做到这一点。

function activate(id)
      {
      try
      {
      alert('enter');
      var table = document.getElementById('billmain');
      var valueImp="";
      alert(table.rows.length)

      for(i=1; i <table.rows.length; i++)
      {
      valueImp = table.rows[i].cells[0].innerHTML;
      alert(valueImp);
      }
      return false;
      }catch(ex)
      {
      alert(ex.Message);

      }
      }
4

1 回答 1

2

好吧,XSLT 样式表是一个 XML 文档,因此应用 XML 语法规则意味着您需要将<小于号转义为&lt;或使用 CDATA 部分,例如

<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  version="1.0">

<xsl:output method="html"/>

<xsl:template match="/">
  <html>
    <head>
      <title>Example</title>
      <script><![CDATA[
function activate(id)
      {
      try
      {
      alert('enter');
      var table = document.getElementById('billmain');
      var valueImp="";
      alert(table.rows.length)

      for(i=1; i <table.rows.length; i++)
      {
      valueImp = table.rows[i].cells[0].innerHTML;
      alert(valueImp);
      }
      return false;
      }catch(ex)
      {
      alert(ex.Message);

      }
      }
]]></script>
   </head>
   <body>
    <xsl:apply-templates/>
   </body>
 </html>
</xsl:template>

<!-- further templates go here -->
</xsl:stylesheet>
于 2013-08-17T09:13:59.510 回答