2009-06-04 7 views
3

JSコードでのHTMLコード生成に関するご意見をお待ちしています。JSコードでのHTML生成

私はちょうどhtml.push("<tag>" + something + "</tag>")スタイルがかなり迷惑だと思う。 私はすでにHTMLファイル内のテンプレートを使って何かを試してみました(そしてその中にいくつかのプレースホルダーを入れています)。そしてその内容を使ってプレースホルダーを実際の値に置き換えました。

しかし多分あなたは他のアイデアを持っています。おそらくjQueryを使っています。

+0

テンプレートソリューションについて何が気に入らなかったのですか? – Nosredna

+0

詳細や例を教えていただけますか?あなたが何をしようとしているのか分かりません。 something.innerHTML = myhtmlstringを呼び出すHTMLを構築しようとしていますか、DOM appendChild/replaceChild関数を使用しようとしていますか? –

答えて

3

jQueryには、jBindとのようなjavascriptテンプレートプラグインがあります。私は自分で使ったことはありませんが、可能な限りjQueryをおすすめします。

html世代の注記では、ほとんどの場合検索エンジンで検索することはできません。

5

jQueryが行く方法です。あなたは、このようなことを行うことができます。

// create some HTML 
var mySpan = $("<span/>").append("Something").addClass("highlight"); 

で、

  • クロスブラウザの互換性があります。

  • 3

    私はどのようにPrototypeJStemplatesを処理するかの大きなファンです。

    まず、Templateクラスのインスタンスを作成し、テンプレートHTMLを含む文字列を渡します。

    var tpl = new Template('Here is a link to <a href="#{link}">#{sitename}</a>'); 
    

    次に、テンプレート内の値を含むデータを渡します。上記の例で

    $('someDiv').innerHTML = tpl.evaluate({link: 'http://www.stackoverflow.com', sitename: 'StackOverflow'}); 
    

    、Iは、ID =「someDiv」とDIVを有し、Iは、テンプレート評価の結果とDIVの内容を交換しています。

    0

    これをサポートするJQuery関数がたくさんあります。特に、あなたはappend(content)appendTo(content)prepend(content)prependTo(content)replaceWith(content)after(content)before(content)insertAfter(content)、およびinsertBefore(content)をご覧ください。

    3

    非常に軽量のテンプレートシステムを作成する場合、Resigは少しblog entryです。

    関連する問題