jQuery中是否内置了任何字符串格式化函数
Are there any string formatting functions built into jQuery?
我有以下代码:
$("#stats-list")
.append("<li>Elapsed: " + ajaxElapsed + "</li>'n" +
"<li>Display: " + tableElapsed + "</li>'n" +
"<li>Total: " + (ajaxElapsed + tableElapsed) + "</li>");
这最初是我连接成一个的三个附录。我能用jQuery做些什么来清理这些代码吗。我想知道的是jQuery是否有任何可以使用的带有标记的字符串格式。
function format(formatString) {
var args = Array.prototype.slice.call(arguments,1);
return formatString.replace(/'{('d+)'}/g, function(match, num) {
return args[Number(num)];
});
}
format("<li>Elapsed: {0}</li>'n<li>Display: {1}</li>'n<li>Total: {2}</li>",
ajaxElapsed, tableElapsed, ajaxElapsed + tableElapsed);
afaik没有内置,但有一个强大的模板子系统,请参阅jQuery Templates
为了完整起见,我认为这可以做得更优雅:
var list = $('#stats-list');
$('<li />').text('Elapsed: ' + ajaxElapsed).appendTo(list);
$('<li />').text('Display: ' + tableElapsed).appendTo(list);
$('<li />').text('Total: ' + (ajaxElapsed + tableElapsed)).appendTo(list);
如果您有很多项,您可以这样做,以避免丢失+
和多次写入li
。您可以在数组中添加任意数量的项,它们将适当地与li
连接。
var list = '<li>' + [
'Elapsed: ' + ajaxElapsed,
'Display: ' + tableElapsed,
'Total: ' + ajaxElapsed + tableElapsed
].join('</li><li>') + '</li>';
$("#stats-list").append(list);
注意,我不会使用'n
。默认情况下,li
是一个块元素,因此最好使用css对其进行样式设置。
相关文章:
- jQuery中是否内置了任何字符串格式化函数
- 将字符串转换为格式化日期
- 用Javascript重新格式化复杂文本日期字符串的更好方法
- 如何将日期字符串视为格式化数组[EYEAR,MONTH,DAY]
- 如何格式化match()参数以定位电子邮件中的字符串
- 用逗号分割字符串,格式化后显示
- 如何格式化字符串以修复Javascript中的缩进
- momentjs 显示本地时间和自动格式化字符串
- 有没有办法在javascript中格式化字符串
- jQuery(或Javascript)基于给定的C#/VBA/Java格式字符串格式化数字的方法
- Javascript/Regex,用于在键入时格式化字符串
- 在 javascript 中从字符串格式化日期
- 如何使用变量名称实现字符串格式化程序
- JS 字符串格式化操作 - 将变量值替换为字符串
- 获取&从一个简单的字符串格式化HTML标记
- javascript函数中的PHP字符串格式化
- Javascript字符串格式化-替换保存在变量中的字符串
- Python中用于Javascript的可选字符串格式化器
- Javascript字符串格式化
- javascript中的字符串格式化