我想更改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>
答案 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代码一起工作提供了更多的机会。