【问题标题】:jQ Format is not a FunctionjQ 格式不是函数
【发布时间】:2017-04-27 05:06:59
【问题描述】:

当我使用 jQuery 格式化字符串时,在这一行出现此错误, Uncaught TypeError: f.format is not a function

这是似乎出现错误的行(我有多行使用相同的方法,但这些似乎都不起作用)

var $li = $(f.format(betid, bet.amount, bet.icon, bet.name, bet.amount));

为什么会这样?我以前用过,效果很好?

字符串:

var f = "<div>";
f += "<div class='avatar''>";
f += "<img src='{2}'>";
f += "</div>";
f += "<div>{3}</div>";
var num = bet.amount;
f += "<div class='user-bet ng-binding'>" + num + "</div>";
f += "</div></div>"; 

【问题讨论】:

  • f 会是……?
  • 很难说不知道f是什么...
  • 您能发布更多代码吗?我们需要看到f
  • 只是一个使用 {1} {2} 等的长字符串。编辑后的帖子^
  • AFAIK Javascript 字符串没有原生的“.format”方法。 w3schools.com/jsref/jsref_obj_string.asp你缺少插件吗?

标签: javascript jquery


【解决方案1】:

string.format 不是 Javascript 中的函数

不过你可以写这样的函数:

String.prototype.format = function() {
  var str = this;
  for (var i = 0; i < arguments.length; i++) {       
    var reg = new RegExp("\\{" + i + "\\}", "gm");             
    str = str.replace(reg, arguments[i]);
  }
  return str;
}

来自this question

【讨论】:

  • 是的,但我也在使用 jQuery?
  • @MartinDev 没关系。您在字符串上调用 .format() 而不是 jQuery 对象。
  • 就是这样,我通常把这段代码放在我的页面头部,这次我完全忘记了。谢谢你的回答,我会接受这个作为回答,但这是我自己的错。
猜你喜欢
  • 2019-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-07
  • 2018-07-23
  • 2020-05-15
  • 2019-03-18
相关资源
最近更新 更多