我想将我的xml中的值分配给javascript中的变量...这是否有可能?我的想法是在生成的表的最后一列中显示链接。这是我的方法,但我不确定它会起作用。如果有人有更好的想法请分享:D
<xsl:template match="/">
<html>
<head>
</head>
<body>
<script>
var ahref = '<xsl:value-of select="url"/>'; <----- How to achieve this???
</script>
<h2>My Catalog</h2>
<table border="1">
<tr bgcolor="#9ACD32">
<th>Album</th>
<th>Artist</th>
<th>Link</th>
</tr>
<xsl:for-each select="catalog/album">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
<td><a href="" id="ahref" style="padding:0px 10px 0px 10px;">link</a></td>
</tr>
</xsl:for-each>
</table>
<script>
document.getElementById("ahref").href = ahref;
</script>
</body>
</html>
</xsl:template>
这是我的xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="catalog.xsl"?>
<catalog>
<album>
<title>Exodus</title>
<artist>Bob Marley</artist>
<country>Jamaica</country>
<price>19,99</price>
<url>https://www.w3schools.com/tags/tag_a.asp</url>
</album>
<album>
<title>Black Album</title>
<artist>Metallica</artist>
<country>USA</country>
<price>20,00</price>
<url>https://www.artstation.com/artist/lanyuan</url>
</album>
<album>
<title>Nevermind</title>
<artist>Nirvana</artist>
<country>USA</country>
<price>22,00</price>
<url>http://fontawesome.io/icon/external-link</url>
</album>
</catalog>
答案 0 :(得分:0)
我不明白为什么你需要Javascript,如果你改变了
<xsl:for-each select="catalog/album">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
<td><a href="" id="ahref" style="padding:0px 10px 0px 10px;">link</a></td>
</tr>
</xsl:for-each>
到
<xsl:for-each select="catalog/album">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
<td><a href="{url}" style="padding:0px 10px 0px 10px;"><xsl:value-of select="url"/></a></td>
</tr>
</xsl:for-each>
然后,XML文档的XSLT转换产生的HTML将在每行的第三个表格单元格中包含一个链接。