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

jQuery使用含特殊字符的加密类名作选择器时报无法识别表达式语法错误

报错原因

类名中包含%、=等CSS选择器预留的特殊字符,直接拼接进选择器字符串时,jQuery会将这些字符识别为选择器语法的一部分,而非类名的内容,因此抛出无法识别表达式的语法错误。

解决方案

方案1:使用$.escapeSelector转义类名(jQuery 3.0+ 适用)

jQuery 3.0及以上版本提供了内置的转义方法,可自动处理选择器中的特殊字符:

var className  = "order_enc_YUluWTo6ODA4OTczNjQ3MjAzOTc0OA%3D%3D";
// 转义类名中的特殊字符
var escapedCls = $.escapeSelector(className);
$('input:checkbox.' + escapedCls).each(function() {
    this.checked && arr.push($(this).val());
});

方案2:结合hasClass过滤(全版本兼容)

先选中所有复选框,再通过hasClass方法匹配目标类名,该方法直接接收字符串参数,不需要走选择器解析,完全规避特殊字符问题,兼容性最强:

var className  = "order_enc_YUluWTo6ODA4OTczNjQ3MjAzOTc0OA%3D%3D";
$('input:checkbox').filter(function() {
    return $(this).hasClass(className);
}).each(function() {
    this.checked && arr.push($(this).val());
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:45:03