1

我有一个元素菜单,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(..)函数;但我不知道这是否可能以及我是否不会以这种方式使事情过于复杂。

4

1 回答 1

2

我认为你把一件简单的事情复杂化了。以我的方式,您应该生成所有 html 内容,包括菜单和子项。然后做一些 javascript 的东西来隐藏和显示应该显示的子项目。它要求您使用一些 CSS 和 javascript(可能是 Jquery)来完成您的工作。

从 onclick 委托再次调用 xslt 不是一个好主意,因为如果您一次又一次地生成所有子项,每次用户都想看到它们,所以无论多么困难,您都不会一直拥有状态可以实施。但是,以我理解您的代码的方式,做这样的事情似乎是不可能的(或非常困难的)。

希望能帮助到你。

干杯

于 2012-11-16T20:44:23.490 回答