2016-04-12 25 views
0

桁上げコードはhereです。

jqueryテンプレートとそのデータからHTMLコンテンツを取得しようとしています。 tmplの戻り値の型がjqueryでラップされたオブジェクトではありませんか? plunker

に示したように、私はそれが別の方法で動作させることができますが、私は把握しようとしています:

このコード、

$.each($('#movieTemplate').tmpl(movies), function(idx,elt){ 
    tmplContent = tmplContent + elt.html() 
    }); 

elt.html is not a function 

注意として、エラーがスローされます$ .tmplの戻り値のオブジェクト型ですか?

答えて

1

使用document.createElement、HTMLコンテナ、代わりにHTMLを文字列として連結するのを作成し、HTML

var movies = [ 
    { Name: "The Red Violin", ReleaseYear: "1998" }, 
    { Name: "Eyes Wide Shut", ReleaseYear: "1999" }, 
    { Name: "The Inheritance", ReleaseYear: "1976" } 
] 

var tmplContent = $("<div />").append($.tmpl(' <li> <b>${Name}</b> (${ReleaseYear}) </li>', movies)).html() 
$('#results-0').html(tmplContent) 

var tmplContent = document.createElement('div'); 
$.each($('#movieTemplate').tmpl(movies), function(idx,elt){ 
    tmplContent.appendChild(elt); 
    //tmplContent = tmplContent + elt.toString() 
}); 

$('#results-1').html(tmplContent) 

を追加それとも、まだ文字列としてそれを使用したい場合、あなたはこのよう

それを行うことができますします
$.each($('#movieTemplate').tmpl(movies), function(idx,elt){ 
    tmplContent = tmplContent + $(elt).prop('outerHTML'); 
}); 
関連する問題