我有一个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(..)
函数;但我不知道这是否可能,如果我不会那样过于复杂的话。
答案 0 :(得分:2)
我认为你让一件简单的事情复杂化了。在我的方式,你应该生成所有的HTML内容,包括菜单和子项。然后做一些javascript的东西来隐藏并显示它们应该显示的子项。它需要你使用一些CSS和javascript(也许是Jquery)来完成你的工作。
从onclick委托中再次调用xslt并不是一个好主意,因为如果你一次又一次地生成所有子项,那么每次用户都希望看到它们,所以你不管所有的时间都没有这个状态。实施起来有多难。然而,在我理解你的代码的方式中,似乎不可能(或非常难)做这样的事情。
希望它有所帮助。
干杯