如何将XSL属性值传递到HTML5数据标签中?

问题描述 投票:0回答:2

我是XSLT的新手,所以请原谅我的菜鸟问题。

在这里,我正在尝试使用javascript传递xsl:attribute的值。因此,当我单击按钮时,应该获取XSL属性的值。但是我无法获得预期的输出。

代码的HTML部分在这里:

<xsl:attribute name="value">
   <xsl:value-of select="110"/>
</xsl:attribute>

<input type="button" name="testBtn" id="testBtn"
   value="Test Button" data-test="$value"/>

和javascript代码在这里:

$("#testBtn").click(function() {
   var outputResult = $(this).attr('data-test');

   console.log(outputResult);
});

单击按钮时的预期输出:

    110

我提供了一个jsfiddle,以防我的问题不清楚http://jsfiddle.net/rfa75/

我在这里做错了什么?

javascript jquery xml html5 xslt
2个回答
1
投票

正如FrédéricHamidi所说,您正在将html与XSL混合使用,这不是XSLT转换的工作方式。无论如何,您可能需要这样的东西(在您的XSL中):

<input type="button" name="testBtn" id="testBtn" value="Test Button">
  <xsl:attribute name="data-test">
    <xsl:value-of select="110"/><!-- "110" or any expression you should need -->
  </xsl:attribute>
</input>

哪个将输出此HTML:

<input type="button" name="testBtn" id="testBtn" value="Test Button" data-test="110"/>

1
投票

您还可以通过使用AVT(属性值模板({}))来执行与您最初的操作类似的操作。

<input type="button" name="testBtn" id="testBtn"
   value="Test Button" data-test="{data-test}"/>
© www.soinside.com 2019 - 2024. All rights reserved.