Посмотрите на этот пример Plnkr
Переменная this
сильно отличается timesCalled
с каждым нажатием кнопки увеличивается только на 1. Ответ на мой личный вопрос:
.click( () => { } )
и
.click(function() { })
создают одинаковое количество функции при использовании в цикле, как вы можете видеть из подсчета Guid в Plnkr.
Просто для уточнения проблема здесь - ошибка находится в следующем бите кода:
<xsl:attribute name="src">
<xsl:copy-of select="/root/Image/node()"/>
</xsl:attribute>
инструкция xsl:copy берет узел или набор узлов и делает копию из него - вывод узла или набора узлов. Однако атрибут не может содержать узел, только текстовое значение, так xsl:value было бы возможное решение (как это возвращает текстовое значение узла или набора узлов).
А НАМНОГО более короткое решение (и возможно более изящный) было бы следующим:
<img width="100" height="100" src="{/root/Image/node()}" class="CalloutRightPhoto"/>
использование {} в атрибуте называют Шаблоном Значения атрибута и может содержать любое выражение XPath.
Примечание, тот же XPath может использоваться здесь, как Вы использовали в xsl_copy, как это знает для принятия текстового значения при использовании в Шаблоне Значения атрибута.
Не был должен это быть:
<xsl:value-of select="/root/Image/img/@src"/>
? Похоже, что Вы пытаетесь скопировать весь узел Image/img в @src
атрибутаДля добавления атрибутов XSL хочет
<xsl:element name="img"> (attributes) </xsl:element>
вместо всего
<img> (attributes) </img>
, Хотя, да, если Вы просто копируете элемент как есть, Вам не нужно ни одно из этого.
Не берите в голову - я - идиот. Мне просто было нужно < xsl:value выберите = "/root/Image/node ()"/>