将XSL变量传递给内联JavaScript函数

时间:2018-05-21 02:04:34

标签: javascript xml xslt cdata

如何将xsl变量传递给我的内联JavaScript函数?我想反过来处理它并填充表格列。

  <td>
    <xsl:variable name="symbol" select="symbol"/>
    <script language="javascript">
      <![CDATA[
        $(document).ready(function () {
          getPrice('<xsl:value-of select="symbol"/>');
        });

        function getPrice(symbol)
        {
          alert(symbol);
          var target = document.getElementById(symbol + '_price');
          $( target ).html( 'test' );
        }
      ]]>
    </script>
    <div id='{symbol}_price'></div>
  </td>

1 个答案:

答案 0 :(得分:1)

如果您使用浏览器中的内置XSLT 1.0引擎运行此操作,请记住XSLT代码只是生成HTML。您的XSLT代码生成的页面包含Javascript函数的源代码,但在您仍在生成页面时无法执行此函数。您可以做的是生成调用该函数的HTML代码,但在您的情况下这听起来并不太有用。

此外,在script元素中生成包含td元素的HTML并不是一个好主意。

但你为什么要调用Javascript呢?据我所知,你所有的Javascript函数都是读源XML。当然,这样做的方法是使用XPath表达式吗?