Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
2012年推荐的jQuery模板?_Jquery_Html_Json_Templates - Fatal编程技术网

2012年推荐的jQuery模板?

2012年推荐的jQuery模板?,jquery,html,json,templates,Jquery,Html,Json,Templates,jQuery模板已经被弃用一段时间了 我有一些JavaScript对象形式的数据,我想将其格式化为HTML并附加到DOM中。现在最好的方法是什么 我应该建立一个HTML字符串吗 我是否应该通过jQuery创建元素,例如$('”,{id:'my-'+id}).append($('').text(myText)) jQuery模板是否有替代品或成熟的替代品 js非常适合模板制作 你绝对应该尝试和/或 我倾向于使用把手,但语法非常相似。我在项目中就是这样做的: 在HTML中定义模板: <scri

jQuery模板已经被弃用一段时间了

我有一些JavaScript对象形式的数据,我想将其格式化为HTML并附加到DOM中。现在最好的方法是什么

  • 我应该建立一个HTML字符串吗
  • 我是否应该通过jQuery创建元素,例如
    $('
  • ”,{id:'my-'+id}).append($('').text(myText))
  • jQuery模板是否有替代品或成熟的替代品

  • js非常适合模板制作

    你绝对应该尝试和/或


    我倾向于使用把手,但语法非常相似。

    我在项目中就是这样做的:

    在HTML中定义模板:

    <script type="text/template" id="cardTemplate">
    <div>
        <a href="{0}">{1}</a>
    </div>
    </script>
    
    :


    非常简单,您甚至可以组合模板。

    我确实不喜欢使用javascript构建html元素,所以我建议您使用一些模板。
    您可以找到模板列表和相关问题


    我曾经使用
    jQuery模板
    ,虽然很简单,但它不再是主动的。

    一路使用模板,比手动解析JSON容易得多。由于我对此做出了贡献,所以我偏爱json2html,因为它不需要编译模板,只使用JSON和JavaScript


    显然更不受欢迎,他们说该功能“处于测试阶段”。@bfavaretto:Yep。表示他们没有通过测试。对您的三个选项进行性能测试。显然,我不允许回答标记为重复的问题,但如果您已经在使用or,您可以使用他们的
    .template
    函数。这很简单,并且支持逃跑。如果另一个问题解决了这个问题,你应该投票关闭…@Sachlen正如我所说,这不是同一个问题。这是一个相关的问题。这个问题是关于做这件事的最佳方法。你如何在必要的地方转义HTML?在您的示例中,如果
    {0}
    包含一个双引号,您只需放大HTML。@标记您可以调用
    escape()
    。如果我需要做的不仅仅是几个小模板,我肯定会寻找更健壮的东西。我只是把它作为一个可能有用的例子放在这里,就像它对我一样。太棒了。。不过有一个疑问。。为什么要把它放在下面呢。汤姆·格鲁纳(Tom Gruner)有一个很好的代码片段,可以从这里提到的mustache.js中转义HTML,我最喜欢这个。谢谢
    var cardTemplate = $("#cardTemplate").html();
    var template = cardTemplate.format("http://example.com", "Link Title");
    $("#container").append(template);
    
    String.prototype.format = function() {
      var args = arguments;
      return this.replace(/{(\d+)}/g, function(match, number) { 
        return typeof args[number] != 'undefined'
          ? args[number]
          : match
        ;
      });
    };