関数といくつかのテンプレートを使用して、変数に格納されている HTML 文字列を、配列に格納されているオブジェクトのandプロパティに$.each
効果的に入力/置換できるようにしました。 temp
title
thumbnail
content
したがって、たとえば$.each
、正規表現のコールバック関数内で が検出され、 の内容に{{title}}
置き換えられます。そのため、基本的に、オブジェクトのタイトル プロパティである文字列 'Speak of the Devil and he will appear' に置き換えます。繰り返されます。{{title}}
obj.title
私が見つけた問題は、この HTML 文字列 ( temp variable
) を本文に追加することです。img
HTML タグが間違った方法で出力され、のコンテンツがタグにobj.title
望ましくない属性を作成していますimg
HTML出力:
<h2> Speak of the devil and he shall appear </h2>
<img appear="" shall="" he="" and="" devil="" the="" of="" alt="Speak" src="images/bane.jpg">
ここに私のテンプレートがあります:
<script id="blogTemplate" type="chris/template">
<h2> {{title}} </h2>
<img src={{thumbnail}} alt={{title}}>
</script>
そして、ここに私のjQueryコードがあります:
(function() {
var content = [
{
title: 'Speak of the devil and he shall appear',
thumbnail: 'images/bane.jpg',
},
{
title: 'Me the joker',
thumbnail: 'images/Joker.jpg',
}
];
var template = $.trim( $('#blogTemplate').html() );
$.each( content, function( index, obj ) {
var temp = template.replace( /{{title}}/ig, obj.title )
.replace( /{{thumbnail}}/ig, obj.thumbnail );
console.log(temp);
$('body').append(temp);
});
})();