5

jQueryを使用して半複雑なHTMLdiv要素を生成(または少なくともある種のテンプレートにJSONデータを入力してリストに追加)したいと思います。データはJSON形式(重要な場合)であり、親エントリごとに、カルーセルタイプの要素に別のdivを追加したいと思います。

次のような長いステートメント:

$('#list').append('<li><div id=" + entry.id +"><span id="highlight> + entry.name + <span/><div id="picture" ....

動作しますが、維持するのが難しすぎます(エラーが発生した場合は、要点を説明するだけです)。より効率的な方法が必要です。

ありがとう。

4

3 に答える 3

7

あなたはjavascriptテンプレート言語を調べています-そこにはたくさんあります:

アイデアは、データとそのビューを分離しておくことです。

var myUser = { name : 'John', lastname : 'Doe' };

$('#awesomeDiv').html(
    someTemplateFunction( { user : myUser } )
);

そしてsomeTemplateFunction()、その体に次のようなものを保持します:

<p>Hello <strong><%=user.name %> <%=user.lastname %></strong></p>

保持するということは、テンプレートライブラリが[DOMまたは外部ファイルからの]そのようなテンプレートを解析し、それを新しいDOM要素にレンダリングできることを意味します。

私が選んだunderscore.jsは、非常に最小限でありながら便利なライブラリであるため、自由に見て回ってください。

于 2012-09-03T02:08:18.510 に答える
1

あなたはいくつかのテンプレートを探しています。沢山あります:

于 2012-09-03T02:03:19.703 に答える
0

それがあなたがしていることでうまくいくかどうかはわかりませんが、最近私は同様の問題を抱えていて、挿入されるhtmlで私のjsを「汚染」したくありませんでした。私の解決策は、ページにすべてのhtmlを挿入し、非表示にして、必要に応じて表示したり、場合によっては目的のdivをコピーしたりすることでした。

于 2012-09-03T02:03:43.090 に答える