【问题标题】:Is it ok to use HTML strings in JS code while using jquery templates使用jquery模板时可以在JS代码中使用HTML字符串吗
【发布时间】:2011-12-05 17:03:49
【问题描述】:

在我们的应用程序中,我们使用 javascript 将传入的 JSON 数据泵入可呈现的 HTML。为此,我一直在使用 JQuery 模板。 我开始注意到我在 JS 代码中使用了越来越多的 html 字符串。例如:

render = function(data, parent){

   var header, analyticsHtml, analyticsTmpl;
   header= parent.find(".header");
   header.append('<H3>'+ i18n['header']+'</H3>');
   analyticsHtml = '<div><div class="floatLeft" id="analytics"><div class="gt"><span>01</span><br />i18n['Text1']</div></div></div>';
   parent.append(analyticsHtml);
   analyticsTmpl = "....blah...";

   $('#analytics').append($.tmpl(analyticsTmpl, data));
   .
   .
   .

}

在JS代码中使用html字符串可以吗?

【问题讨论】:

    标签: javascript jquery html jquery-templates


    【解决方案1】:

    是的,没关系,但您必须转义使用“\”的引号字符。

    analyticsHtml = '<div><div class="floatLeft" id="analytics"><div class="gt"><span>01</span><br />' + i18n['Text1'] + '</div></div></div>';
    

    在您的代码中,您忘记了“i18n”数组引用的“+”运算符。

    【讨论】:

      【解决方案2】:

      我会说这样做很好。我要做的是尝试在类/代码文件/闭包顶部的非局部变量中定义模板,如果它们很长,请将它们分成多行以使其更具可读性,

      【讨论】:

      • 访问非局部变量比实例/全局变量花费更多时间。请记住,即使模板很长并且仅在该功能中使用,您为什么还要这样做。
      • 我以前没听说过 - 你有链接或基准吗?知道会很有趣。
      猜你喜欢
      • 1970-01-01
      • 2017-04-02
      • 1970-01-01
      • 2011-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-11
      相关资源
      最近更新 更多