これを行うための最良の方法は、JavaScriptのテンプレートシステムを使用することです。これがCSSでHTMLを隠すよりも優れている理由は、(たとえば)誰かがCSSを無効にすると、明らかに理想的ではないテンプレートを見ることができるからです。
テンプレートシステムを使用すると、テンプレートを<script>
タグに入れることができます。つまり、JavaScript以外のものは完全に隠されています。
私のお気に入りは、jQueryが最近普及していることが主な理由です。あなたはここからそれを得ることができます:http://api.jquery.com/category/plugins/templates/
(jQueryのドキュメントから取られた)例:
<ul id="movieList"></ul>
<!-- the template is in this script tag -->
<script id="movieTemplate" type="text/x-jquery-tmpl">
<li><b>${Name}</b> (${ReleaseYear})</li>
</script>
<!-- this script will fill out the template with the values you assign -->
<script type="text/javascript">
var movies = [
{ Name: "The Red Violin", ReleaseYear: "1998" },
{ Name: "Eyes Wide Shut", ReleaseYear: "1999" },
{ Name: "The Inheritance", ReleaseYear: "1976" }
];
// Render the template with the movies data and insert
// the rendered HTML under the "movieList" element
$("#movieTemplate").tmpl(movies)
.appendTo("#movieList");
</script>
それは単純な例ですが、あなたはあなたが生成したいHTMLのすべてを置くことができ<script>
、はるかに柔軟性があります(さまざまなジョブに同じHTMLスニペットを使用し、ギャップを埋めるだけです)。また、多くのテンプレートを使用してより大きなHTMLスニペットを構築することもできます。
jQueryを使用すると、大きな文字列ではなくオブジェクトなどにデータを提供することで、より「組織化された」方法で行うことができます。それは私が推測するが、遅くなります。 – pimvdb