【问题标题】:Use XSLT and jQuery together一起使用 XSLT 和 jQuery
【发布时间】:2026-02-01 02:50:02
【问题描述】:

我正在使用 XSLT 将 xml 文件转换为 html,以便可以在浏览器中查看。

我的 XSL 文件基本上定义了许多表(从我的 XML 文件中填充)。

我的 HTML 文件如下所示:

<html>
<head>
<title>My Title</title>   
<script type="text/javascript">
<!--
    function applyXSLT()
    {       
             // do transfrom
             resultdiv.innerHTML = transformResults;
    }
//-->   

</script>
</head>
<body class="main" onLoad="applyXSLT()">
<div id="resultdiv"></div>
</body>
</html>

此时一切正常。现在我想使用 jQuery 来帮助对表格进行排序。

我的问题是我该怎么做?我应该把 jQuery 的东西放在哪里?

提前致谢!

【问题讨论】:

  • RTFM ?您正在标记 XSLT,但您的问题仅依赖于 JQuery 主题。

标签: jquery html xml xslt


【解决方案1】:

一种排序方法是使用 xslt 模板对 xml 数据进行排序,这就是在 xslt 中排序的方式:

 <xsl:sort select="Name" order="ascending" data-type="text"/>

那么你需要根据列动态改变排序字段。

其他方法是使用一些插件对 UI、jquery 数据表、tablesorter 等进行排序。

【讨论】:

  • XSLT 只允许单向排序,即升序或降序。我想要实现的是单击表格列标题进行双向排序。我正在考虑在这里使用 jquery 表排序器:link。任何想法如何将它与 XSLT 一起使用?
  • 您可以像这样检索 xsl 属性,然后相应地调整排序: var Sort = xslTemplate.selectSingleNode("//xsl:sort/@select"); var Order = xslTemplate.selectSingleNode("//xsl:sort/@order"); var DataType = xslTemplate.selectSingleNode("//xsl:sort/@data-type");