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

使用jQuery追加含多类名HTML元素时的语法错误解决咨询

解决jQuery追加HTML时的语法错误问题

嘿,我来帮你搞定这个问题~你遇到的语法错误根本不是因为class里的空格,而是双引号嵌套冲突导致的!

你写的代码里,外层jQuery选择器用了双引号$("ul.star-rating"),而要追加的HTML字符串里也用了双引号class="fa fa-star"——浏览器会把第一个遇到的"当成字符串的结束标记,后面的代码就乱套了,所以才会报“缺少)”的错误。

给你三种靠谱的解决方法,随便哪种都能达到你想要的效果:

  • 方法1:内层用单引号包裹HTML属性
    把HTML字符串里的双引号换成单引号,和外层的双引号区分开,空格完全不用处理,浏览器能正常识别class里的空格:

    $("ul.star-rating").append('<li><i class="fa fa-star"></i></li>');
    
  • 方法2:转义内层的双引号
    如果非要保持双引号嵌套,就用反斜杠\转义HTML里的双引号,告诉浏览器这些引号是字符串的一部分:

    $("ul.star-rating").append("<li><i class=\"fa fa-star\"></i></li>");
    
  • 方法3:用ES6模板字符串(推荐)
    用反引号`包裹整个HTML字符串,里面可以直接用双引号,可读性还更好,甚至能换行写代码:

    $("ul.star-rating").append(`<li><i class="fa fa-star"></i></li>`);
    

不管用哪种方法,执行后都会成功把目标列表项追加到ul.star-rating中,最终得到你想要的结构:

<ul class="star-rating">
  <li><i class="fa fa-star"></i></li>
</ul>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 04:31:42