jQuery $ .each方法中的ES6模板文字

Abr*_*Voy 6 javascript jquery ecmascript-6

是否可以在jQuery的$.each方法中使用ES6模板文字?

试图这样做,没有成功:

let arr = this.arr;

  $.each($("g#texts").children(), function (i, contents) {
    $("#`${contents.id}` tspan")
        .text(arr.find(a => a.name == "`${contents.id}`")
        .displayedName);
  })
Run Code Online (Sandbox Code Playgroud)

这里应该纠正什么?

Ror*_*san 7

这当然是可能的.您遇到的问题是因为您已将模板文字放在字符串文字中.第二个模板文字也是多余的.如果您修复语法,您编写的代码将正常工作:

$("g#texts").children().each(function (i, contents) {
  $(`#${contents.id} tspan`).text(arr.find(a => a.name == contents.id).displayedName);
});
Run Code Online (Sandbox Code Playgroud)

  • 该错误意味着`contents`指向的元素没有`id`属性,因此使用了无效的选择器`#tspan` (2认同)