这基本上就是我想做的事情:
<xsl:template match="/">
<html>
<body>
<script type="text/javascript">
function toggle(id)
{
var e = document.getElementById(id);
if (e.style.display == '')
e.style.display = 'none';
else
e.style.display = '';
}
</script>
<xsl:for-each select="s:measCollecFile/s:measData/s:measInfo">
<a href="#" onclick="toggle(s:measValue/@measObjLdn)"><xsl:value-of select="s:measValue/@measObjLdn"/></a>
<div id="s:measValue/@measObjLdn" style="display:none">
some text.
</div>
</xsl:for-each>
</body>
</html>
</xsl:template>
我的问题是我无法让@value工作。如果我硬编码字符串而不是@value,它可以正常工作。因此代码实际上是有效的。
编辑:真实路径名称
答案 0 :(得分:0)
function toggle(ele)
{
if (ele.style.display == '')
ele.style.display = 'none';
else
ele.style.display = '';
}
将此作为当前对象使用。
<a href="#" onclick="toggle(this)">
或者,使用xsl:attribute设置属性值
<a href="#" >
<xsl:attribute name="onclick">
toggle('<xsl:value-of select="@value"/>');
</xsl:attribute>
<xsl:value-of select="@value"/>
</a>