Javascript 使用XSL将XML属性作为id传递到HTML中

Javascript 使用XSL将XML属性作为id传递到HTML中,javascript,html,xml,xslt,Javascript,Html,Xml,Xslt,希望你能帮我指出这个问题的正确方向 我想做的是: 我有一个XML文件,我正在使用XSLT将其转换为HTML。其中一部分包括添加一个“隐藏”按钮。我想使用hide按钮从XML中删除节点,我的想法是为按钮提供与相关XML元素中的myId属性相同的id,这使得很容易将按钮的onClick与要隐藏的XML元素相匹配 这里有一点XML: <sectionStatement myId="1">Awesome statement</sectionStatement> <secti

希望你能帮我指出这个问题的正确方向

我想做的是: 我有一个XML文件,我正在使用XSLT将其转换为HTML。其中一部分包括添加一个“隐藏”按钮。我想使用hide按钮从XML中删除节点,我的想法是为按钮提供与相关XML元素中的myId属性相同的id,这使得很容易将按钮的onClick与要隐藏的XML元素相匹配

这里有一点XML:

<sectionStatement myId="1">Awesome statement</sectionStatement>
<sectionStatement myId="2">I am a statement</sectionStatement>
<sectionStatement myId="3">I am another statement</sectionStatement>
Awesome语句
我是一份声明
我是另一个声明
下面是我遇到的一点XSL:

<xsl:for-each select="sectionStatement">
  <p><xsl:value-of select="."/><a class='showHideBtn' href='#'>Hide</a></p>
</xsl:for-each>

…因此,我希望最终得到3段html,每个段落都有一个“隐藏”按钮,我希望按钮具有相关id(1、2或3)。这相当于将
id=”“
添加到标记中……但我已经尝试过了,但没有成功

谢谢你的建议:-) 标记可用于添加动态、条件属性和将模板应用于元素的

<p>
   <xsl:attribute name="id">
    optionalText<xsl:value-of select="@myId"/>
   </xsl:attribute>
</p>

可选文本

如果您已经知道该值,则转换语法更简单

<xsl:for-each select="sectionStatement">
  <p><xsl:value-of select="."/>
    <a class='showHideBtn' href='#' id='{@myId}'>
    Hide
    </a>
  </p>
</xsl:for-each>


您可以使用添加动态的条件属性,并将模板应用于元素

<p>
   <xsl:attribute name="id">
    optionalText<xsl:value-of select="@myId"/>
   </xsl:attribute>
</p>

可选文本

如果您已经知道该值,则转换语法更简单

<xsl:for-each select="sectionStatement">
  <p><xsl:value-of select="."/>
    <a class='showHideBtn' href='#' id='{@myId}'>
    Hide
    </a>
  </p>
</xsl:for-each>



使用属性值模板
使用属性值模板

整洁整洁,为我完美地完成工作。谢谢干净整洁,对我来说工作做得很完美。谢谢