Переменная XSL передана в код JavaScript
Я видел, что подобные вопросы задавались, но никто не помог.
У меня есть переменная с именем 'var':
<xsl:variable name="var">
val
</xsl:variable>
И я хочу использовать это как так:
<a onclick=
"
this.innerHTML = 'my var = ??? '/>;
"
>
click-Me
</a>
Проблема: заменить??? со значением var.
Я пытался установить {$var}
так же как <xsl:value-of select="$var"/>
, но последний не будет работать, так как есть три вложенных скобки.
1 ответ
Решение
Мое предложение будет следующим. Сначала я бы сделал скрытый div для хранения содержимого переменной xsl:
<div style="display:none" id="content-div">
<xsl:value-of select="$var"/>
</div>
Затем свяжите событие щелчка (не встроенное) со ссылкой следующим образом:
<a id="some-link">
click-Me
</a>
<script>
document.getElementById('some-link').onclick = function(){
this.innerHTML = document.getElementById('content-div').innerHTML;
};
</script>