Javascript 如何在车把模板中动态添加类

Javascript 如何在车把模板中动态添加类,javascript,html,handlebars.js,html-templates,Javascript,Html,Handlebars.js,Html Templates,我尝试在我的把手模板中动态创建HTML元素,具体来说: <span class="fa fa-star checked"></span> 然后在我的app.js文件中: Handlebars.registerHelper('renderStars', (rating) => { for (let i = 0; i <= rating - 1; i++) { return new Handlebars.SafeString("<span cl

我尝试在我的把手模板中动态创建HTML元素,具体来说:

<span class="fa fa-star checked"></span>
然后在我的app.js文件中:

Handlebars.registerHelper('renderStars', (rating) => {
  for (let i = 0; i <= rating - 1; i++) {
    return new Handlebars.SafeString("<span class='fa fa-star checked'></span>");
  };
});
“我尝试过使用jQuery[…],但在搜索该元素时得到一个空值。”

在执行此操作之前,您需要等待星星被附加到DOM

关于
for
循环,它将只执行一次迭代,因为在第一次迭代期间
返回
(结束函数)

你可以试试这个:

Handlebars.registerHelper('renderStars', (rating) => {
  let result = '';
  for (let i = 1; i <= 5; i++) {
    let checked = rating >= i ? ' checked' : '';
    result += `<span class='fa fa-star${checked}'></span>`;
  }
  return new Handlebars.SafeString(result);
});
handlebar.registerHelper('renderStars',(评级)=>{
让结果=“”;
对于(设i=1;i=i?“选中”:“;
结果+=`;
}
返回新把手。安全字符串(结果);
});
[
  {
    "month": "January",
    "image": "/images/sapiens.jpg",
    "altText": "Sapiens: A Brief History of Humankind, book by Yuval Noah Harari",
    "title": "Sapiens: A Brief History of Humankind",
    "author": "Yuval Noah Harari",
    "rating": 5,
},
Handlebars.registerHelper('renderStars', (rating) => {
  let result = '';
  for (let i = 1; i <= 5; i++) {
    let checked = rating >= i ? ' checked' : '';
    result += `<span class='fa fa-star${checked}'></span>`;
  }
  return new Handlebars.SafeString(result);
});