JQuery и XSLT - PullRequest
       27

JQuery и XSLT

2 голосов
/ 01 октября 2009

Добрый день, Я наткнулся на ошибку или какое-то странное поведение и нигде не могу найти решение.

Я использую XSLT для отображения HTML из документа XML. Внутри этой таблицы стилей я использую javascript / jQuery для добавления некоторого содержимого. Но, видимо, вы не можете добавлять ничего, кроме текстов в любой контейнер.

<script type="text/javascript">
<![CDATA[
    $(function() {
        $("div#topbanner" ).html('<img src="images/load-top.gif" class="load" />');
    });
]]>

Он отлично работает в Firefox, но в IE7 после выполнения кодов в моем DIV появляется только не обработанный HTML. Например, если <> заменить на &gt; &lt; соответственно.

Чтобы он работал под IE7, я должен вынуть тег CDATA, но Firefox не отображает его.

Есть ли способ заставить информацию в методе html выполняться как код html?

Заранее спасибо

Ответы [ 4 ]

2 голосов
/ 02 октября 2009

Встроенный Javascript & XSLT = Безумие; -)

Решение:

<script type="text/javascript">
    //<xsl:comment><![CDATA[
        $(function() {
            $("div#topbanner" ).html('<img src="images/load-top.gif" class="load" />');
        });
    //]]></xsl:comment>
</script>
1 голос
/ 03 октября 2009

Я нашел решение. Я должен держать свой JavaScript во внешнем файле.

Спасибо всем, кто пытался помочь.

0 голосов
/ 03 октября 2009

Что произойдет, если вы попробуете это?

<![CDATA[
 $(function() {
  $("<img>").addClass("load").attr("src","images/load-top.gif").appendTo("div#topbanner");
 });
]]>

или если это все еще не работает ... попробуйте этот метод

<![CDATA[
 $(function() {
  myimg = new Image();
  $(myimg).addClass("load").attr("src","images/load-top.gif").appendTo("div#topbanner");
 });
]]>
0 голосов
/ 01 октября 2009

Я видел это, когда забыл использовать

disable-output-escaping="yes"

по моему <xslvalue-of../>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...