通过javascript更改xsl:for-each标记的select属性的值

时间:2019-04-17 21:06:06

标签: javascript xslt

我想更改xsl:for-each中的select值

<script>
var val = someValue() ://String
document.getElementById("test").select=val;
</script>
<body>
<xsl:for-each id="test" select="get from JS" >
.... 
.....
</xsl:for-each>
</body>

2 个答案:

答案 0 :(得分:0)

似乎您想更改DOM节点的属性值。 您可以使用setAttribute(“ attribute”,“ value”)来实现。

document.getElementById("test").setAttribute("select", val);

您可以在此处引用DOM API参考: https://developer.mozilla.org/en-US/docs/Web/API/Element/setAttribute

答案 1 :(得分:0)

通常,在浏览器中运行XSLT时,首先执行XSLT代码以生成HTML页面,并且只有在生成HTML页面时,页面内的JS脚本才会被执行。到那时,更改XSLT(已经执行)为时已晚。

也许如果您解释了您实际要实现的目标,那么我们可以建议一种替代方法。

您可能想看一下Saxon-JS,它提供了一种更动态的方式来利用浏览器中的XSLT,并为XSLT和Javascript代码一起工作提供了更多的机会。