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

jQuery拼接类名做选择器时报unrecognized expression错误如何解决?

错误原因

  • 你在拼接选择器时额外添加了多余的外层双引号,导致传入$()的表达式为带引号包裹的".a.1"格式,jQuery的Sizzle选择器引擎无法识别这种语法,因此抛出unrecognized expression错误。
  • 补充说明:CSS3已支持数字开头的类名,主流版本的jQuery都可以正常识别,无需额外处理类名格式。

修复方案

方案1:直接移除多余引号即可

直接拼接类名选择器,不需要额外包裹引号:

lastClass = $(this).attr('class').split(' ').pop();
// 直接拼接选择器字符串
este = $(".a." + lastClass);

方案2:更稳妥的filter写法(适配含特殊字符的类名)

如果你的lastClass可能包含.、#等jQuery选择器预留的特殊字符,用filter方法筛选可以完全规避选择器语法错误:

lastClass = $(this).attr('class').split(' ').pop();
este = $(".a").filter(function() {
  return $(this).hasClass(lastClass);
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 10:45:01