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

设置cartItem.innerHTML报Uncaught SyntaxError无效或意外标记错误如何解决

错误原因
  • 普通双引号/单引号不支持多行字符串写法,你直接把HTML内容拆成多行用双引号包裹,JS解析时会判定字符串未闭合,抛出语法错误
  • 外层字符串用了双引号,内部HTML属性也用了双引号,引号嵌套冲突,会被识别为字符串提前结束,后面的内容都属于非法token
  • 字符串中使用了${item.xxx}的模板插值语法,普通字符串不支持该写法,无法解析变量还会触发语法错误
修复方案

将包裹HTML内容的普通双引号替换为ES6模板字符串的反引号(`)即可,反引号支持多行书写、模板插值,也不会和内部HTML的双引号属性冲突。
另外原代码中价格span标签重复定义了两次class属性,可合并为一个避免样式异常。
修复后完整代码如下:

const cartItem = document.createElement('div');
cartItem.className = "cart-item d-flex justify-content-between text-capitalize my-3";

cartItem.innerHTML = `
<img src="${item.img}" class="img-fluid rounded-circle" id="item-img" alt="" width="50" height="50">
<div class="item-text">
  <p id="cart-item-title" class="font-weight-bold mb-0">${item.name}</p>
  <span>$</span>
  <span id="cart-item-price" class="cart-item-price mb-0">${item.price}</span>
</div>
<a href="#" id="cart-item-remove" class="cart-item-remove">
  <i class="fas fa-trash"></i>
</a>`;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 16:39:03