仅在单击链接时执行某些XSLT

时间:2012-11-16 20:35:21

标签: javascript html xml xslt

我有一个a个元素的菜单,所有这些元素都使用xslt从xml文件中获取文本:

<nav>
  <xsl:for-each select="package">
        <a href="#" onclick="generateContent('{@name}', this);"><xsl:value-of select="@name"/></a>
  </xsl:for-each>
</nav>

现在我想生成div(并在点击链接时将其附加到网站上),其内容由我的xml文件生成(使用上面的xslt)。

最好的方法是什么?我的猜测是从JS - 来自generateContent(..)函数;但我不知道这是否可能,如果我不会那样过于复杂的话。

1 个答案:

答案 0 :(得分:2)

我认为你让一件简单的事情复杂化了。在我的方式,你应该生成所有的HTML内容,包括菜单和子项。然后做一些javascript的东西来隐藏并显示它们应该显示的子项。它需要你使用一些CSS和javascript(也许是Jquery)来完成你的工作。

从onclick委托中再次调用xslt并不是一个好主意,因为如果你一次又一次地生成所有子项,那么每次用户都希望看到它们,所以你不管所有的时间都没有这个状态。实施起来有多难。然而,在我理解你的代码的方式中,似乎不可能(或非常难)做这样的事情。

希望它有所帮助。

干杯