2009-10-01 10 views
2

안녕하세요, 버그 나 이상한 동작이 발생하여 어디서나 솔루션을 찾을 수 없습니다.JQuery 및 XSLT

XSLT를 사용하여 XML 문서의 HTML을 표시합니다. 해당 stylehsheet 안에 javascript/jQuery를 사용하여 일부 내용을 추가합니다. 하지만 분명히 어떤 컨테이너에도 텍스트를 추가 할 수는 없습니다.

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

그것은 파이어 폭스에서하지만 IE7과 완벽하게 작동하고

는 코드를 실행 한 후에 만 ​​렌더링되지 않은 HTML 내 DIV에 나타납니다. <>이 (가) &gt; &lt;으로 대체 된 것과 같습니다.

IE7에서 작동되게하려면 CDATA 태그를 꺼내야하지만 그렇게하면 Firefox에서 렌더링하지 않습니다.

html 코드로 정보를 html 코드로 실행하는 방법이 있습니까?

는 = 내 <xslvalue-of../>

+0

"html 메서드에".. html 메서드는 jQuery.html 메서드를 의미합니다. innerHTML과 동일한 것 –

답변

0

내가 본 적이 사전에 정신 ;-)

을 주셔서 감사합니다 솔루션 :

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

그 기능에 대해 들었지만 자바 스크립트에 어디에서 추가할까요? 나는 그것을 CDATA 태그에 포함해야하므로 자바 스크립트를 실행할 수 있기를 원하지만 실제 HTML을 실행하기위한 Javascript/JQuery 함수가 필요하며 엔티티가있는 버전이 필요하지 않습니다. 나는 조금 봤 거든 그것은 자바 스크립트로 innerHTML을 사용하면 XSLT 스타일 시트로 실행될 때 알려진 행동으로 보인다. 그러나 아무도 해결책이 없습니다. ? :) 스티브 –

+0

나는 그때를 이해하지 못한다고 생각합니다. 예상대로 작동하지 않는 jquery 코드 (위) 또는 XSLT (표시되지 않음)입니까? XSLT가 > 및 <으로 렌더링되었다고 가정합니다. 질문에 대답하기 위해 더 많은 정보/샘플 코드가 필요합니까? – Keith

2

임베디드 자바 스크립트 & XSLT에

disable-output-escaping="yes" 

를 사용하는 것을 잊지 때

0

이것을 시도하면 어떻게됩니까?

<![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"); 
}); 
]]> 
1

을 시도합니다. 내 자바 스크립트를 외부 파일에 보관해야합니다.

도움을 주신 분께 고맙습니다.