Как Вы добавляете изображение?

Посмотрите на этот пример Plnkr

Переменная this сильно отличается timesCalled с каждым нажатием кнопки увеличивается только на 1. Ответ на мой личный вопрос:

.click( () => { } )

и

.click(function() { })

создают одинаковое количество функции при использовании в цикле, как вы можете видеть из подсчета Guid в Plnkr.

17
задан Eric J. Price 5 November 2018 в 19:22
поделиться

4 ответа

Просто для уточнения проблема здесь - ошибка находится в следующем бите кода:

<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, как это знает для принятия текстового значения при использовании в Шаблоне Значения атрибута.

27
ответ дан 30 November 2019 в 11:38
поделиться

Не был должен это быть:

<xsl:value-of select="/root/Image/img/@src"/>

? Похоже, что Вы пытаетесь скопировать весь узел Image/img в @src

атрибута
4
ответ дан 30 November 2019 в 11:38
поделиться

Для добавления атрибутов XSL хочет

<xsl:element name="img">
     (attributes)
</xsl:element>

вместо всего

<img>
     (attributes)
</img>

, Хотя, да, если Вы просто копируете элемент как есть, Вам не нужно ни одно из этого.

4
ответ дан 30 November 2019 в 11:38
поделиться

Не берите в голову - я - идиот. Мне просто было нужно < xsl:value выберите = "/root/Image/node ()"/>

3
ответ дан 30 November 2019 в 11:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: