Переменная 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>
Другие вопросы по тегам