格式化td中的数字

时间:2014-03-14 02:43:23

标签: javascript html pug

我的代码获得了一些看起来像这样的总数:

var totals = { someInt:5, someFloat:7.555, someNumberIDoNotNeed:7};

我想在视图中的表格中呈现这些的子集(通过玉石模板)。我的想法是将我想要的那些放入一个对象,然后让JSON.stringify为我做格式化。我希望其中一个值以粗体显示:

var needed = {};
needed["The int is"] = parseFloat(totals.someInt);
needed["The float is"] = "<b>" + parseFloat(totals.someFloat).toFixed(2).toString() + "</b>";

// get rid of the curly braces and add a space after the commas
var string = JSON.stringify(needed).replace(/[{}"]/gi, '').replace(/,/gi, ', ');

然后在我的玉视图中:

td= string

在Chrome检查器中查看此字符串似乎是我希望的:

<td>
    "The int is:5, The float is:<b>7.55</b>"
</td>

但浏览器不尊重标记。我只看到输出中的大括号和b(&lt; b&gt;)。我在格式化输出时尝试了一些变体,但标记显示的基本问题保持不变。非常感谢任何指向正确的方向。

(我尝试使用SO的&gt;引用格式引用输出,但它实际上尊重我的标记,并且这个问题显示了粗体输出我想要的方式。不知何故SO得到了正确但我不能! )

1 个答案:

答案 0 :(得分:1)

我之前从未听说过Jade,但我快速浏览了他们的可编辑演示和参考,并注意到td= string语法转义了html实体但td != string没有。

所以这似乎是你的问题。在这种情况下,您希望保持html完好无损。所以试试td != string