2012-11-01 2 views
2

내가 가지고있는 다음과 같은 템플릿JQuery와 기능

<script id="myTemplate" type="text/x-jquery-tmpl"> 
    <p>${{html Name}}</p> 
    <p>${Format(Title)}</p> 
</script> 

와 자바 스크립트 함수 형식()

function Format(Title){ 
return "<b>" + Title + "</b>"; 
} 

및 실제 데이터

var data = { 
    Name: "<h3>Tom</h3>", 
    Title: "Mr." 
}; 

$ {{에서 HTML을 반환 tmpl html Name}}는 "Name"에 포함 된 html 태그를 표시합니다. 그러나 내 함수 "Format"에서 반환 된 HTML 태그는 내 페이지의 텍스트로 렌더링됩니다. JQuery tmpl을 사용하는 함수에서 HTML을 반환하려면 어떻게해야합니까? ${...}doc 인용

+2

'{{html Format (Title)}}'을 사용하면 안됩니까? – raina77ow

+0

@ raina77ow - 나는 이런! 내가 당신의 코멘트를 읽을 순간. 나는 $ {{html Format (Title)}}을 시도했지만 작동하지 않았습니다. $ 기호를 제거하면 제대로 작동합니다. 지금 나 자신을 발로 차 넣었다. 답으로 의견을 다시 입력 해 주시면 받아 들일 수 있습니까? 감사합니다 –

+0

나는 또한 여기에 다음과 같이 글을 쓸 것입니다 : 예, 처음에는 "$"없이 ({html someProperty}} 여기에 (!)를 써야합니다. :) – Agat

답변

1

$ {}에 의해 렌더링

값은 문자열로서 평가하고, 인코딩 된 HTML 되어있다. 따라서 모든 내장 된 마크 업은 인코딩됩니다. 렌더링 된 템플릿에 인코딩되지 않은 마크 업을 삽입하려면 {{html}} 템플릿 태그를 대신 사용하십시오.

따라서 {{html Format(Title)}}으로 수정할 수 있습니다.