You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mustache JS模板渲染异常:添加按钮不生效问题求助

解决Mustache模板按钮未渲染的问题

问题根源

你的代码存在两个关键错误,直接导致按钮无法正常渲染:

  1. 模板字符串拼接时,第三行末尾多了个分号,打断了字符串的连续拼接,按钮部分代码未被纳入模板内容
  2. Mustache调用时首字母小写,库暴露的全局对象是大写开头的Mustache,小写调用会报错

修复后的完整代码

<!-- jquery linking -->
<script src="../jquery-tut/node_modules/jquery.js"></script>

<!-- mustache js linking from cdn -->
<script src="https://cdn.jsdelivr.net/npm/mustache@4.2.0/mustache.min.js"></script>

<script>
var orderTemplate = "" +
    "<li>" +
    "<p><strong>Name:</strong> {{name}}</p>" + 
    "<p><strong>Drink:</strong> {{drink}}</p>" +  <!-- 移除此处多余的分号 -->
    "<button data-id='{{id}}' class='remove'>X</button>" +
    "</li>";

function addOrder(orders){
    let rendered = Mustache.render(orderTemplate, orders);  <!-- 首字母改为大写M -->
    $orders.append(rendered);
};
</script>

额外注意事项

  • 确保$orders是已正确获取的DOM元素,比如提前执行var $orders = $('#orders');(假设页面中有id为orders的容器)
  • 动态渲染的按钮需要用事件委托绑定点击事件,避免失效:
    $(document).on('click', '.remove', function() {
        const targetId = $(this).data('id');
        // 此处编写DELETE请求相关逻辑
    });
    

内容的提问来源于stack exchange,提问作者finesse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 03:42:08