【发布时间】:2017-08-09 10:29:06
【问题描述】:
我正在尝试使用 jquery 以编程方式插入 appendTo() 方法。我有一个格式化 xml 表的格式化样式表,但我使用 jquery 和 javascript 在第三个 HTML 文档中执行此操作。我原来的xml是这样的格式:
<guitars>
<guitar>
<model>AStrat</model>
<year>1978</year>
<name>Strat</name>
<price>2500</price>
</guitar>
</guitars>
我的样式表是这样的:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" version="4.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
<table id="guitarTable" border="1" width="200">
<tr class="header">
<th>Model</th>
<th>Year</th>
<th>Name</th>
<th>Price</th>
</tr>
<xsl:apply-templates select="/guitars/guitar">
</xsl:apply-templates>
</table>
</xsl:template>
<xsl:template match="guitar">
<tr>
<td> <xsl:value-of select="model" /> </td>
<td> <xsl:value-of select="year" /> </td>
<td> <xsl:value-of select="name"/> </td>
<td> <xsl:value-of select="price" /> </td>
</tr>
</xsl:template>
</xsl:stylesheet>
这是我的 javascript。 stylesheet 是上面通过 ajax 导入的样式表,我检查过可以正常工作。
var nodeToAppend = '<xsl:sort select="model" data-type="text"/>'
$(nodeToAppend).appendTo( $(stylesheet)
.find("xsl\\:apply-templates, apply-templates")
.first() );
但这似乎并不想采取。稍后,我通过 XSLT 处理器将 XSL 应用到 XML。任何想法我做错了什么? 基本上我想要这条线:
<xsl:apply-templates select="/guitars/guitar">
</xsl:apply-templates>
变成:
<xsl:apply-templates select="/guitars/guitar">
<xsl:sort select="model" data-type="text"/>
</xsl:apply-templates>
谢谢!
【问题讨论】:
标签: javascript jquery xml xslt append