【发布时间】:2016-12-24 02:46:28
【问题描述】:
我有许多 XML 文件,我想将它们创建为 HTML 文件的表格,然后显示结果表格。然后我使用一个xsl:elemnt 来创建表格单元格:
<table>
<col span="1" class="firstCol" />
<thead align="center">
<tr class="headerColor" >
<th style="text-align: left" class="Test" >Test</th>
<th > Start </th>
<th > End </th>
<th > Duration </th>
</tr >
<tr style="border: 2px solid black" class="fristRow" onclick="CollapseExpandAll(this)" title="Click here to collapse/expand">
<td align="left">
<b>
<xsl:value-of select="attribute::name"/>
</b>
</td>
</tr>
</thead>
<xsl:element name="tableRows">
<xsl:attribute name="id">
<xsl:value-of select="attribute::name"/>
</xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</table>
使用此 JavaScript 代码:
<script type="text/javascript" language="JavaScript" >
function CollapseExpandAll(obj)
{
var tableRows = obj.parentNode.parentNode.parentNode.getElementsByTagName("tableRows")[0];
var old = tableRows.style.display;
tableRows.style.display = (old == "none"?"":"none");
}
</script>
此代码的作用是通过单击第二行分别展开/折叠一个表格。我想要的是有一个按钮来完成所有在 HTML 中创建的表(不是每个表都通过单击)同时折叠或展开的工作。我通过互联网搜索并找到了很好的例子,但我不知道如何为我的案例本地化它们。 (例如this question)。我可以请你帮忙吗?提前非常感谢!
更新:
这是我的 XML 文件的示例,
<SquishReport version="2.1" xmlns="http://www.froglogic.com/XML2">
<test name="tst_main">
<test name="tst_start_app">
<description> CDATA </description>
</test>
<test name="tst2">
<description> CDATA </description>
</test>
</test>
<test name="tst_main2">
<test name="tst3">
<description> CDATA </description>
</test>
<test name="tst4">
<description> CDATA </description>
</test>
<test name="tst5">
<description> CDATA </description>
</test>
<test name="tst6">
<description> CDATA </description>
</test>
</test>
<test name="tst_main3">
<test name="tst7">
<description> CDATA </description>
</test>
<test name="tst8">
<description> CDATA </description>
</test>
<test name="tst9">
<description> CDATA </description>
</test>
</test>
</SquishReport>
对于每个test_main,我想分别有一个表格,然后我的 HTML 文件中将有三个表格。
【问题讨论】:
-
你的代码中没有开放类
-
@himanshu 这是额外的,与此代码无关。对不起!!
标签: javascript html css xslt xslt-1.0