jQuery如何选择id以插值字符串开头的指定类按钮元素?
错误原因
你出现语法报错的核心原因是把模板字符串的反引号写在了jQuery选择器的属性值内部,jQuery的选择器引擎不会识别内部的反引号语法,也不会处理${}插值逻辑,只会把它当成非法的选择器字符处理,所以直接抛出了识别异常。
解决方法
方法1:正确使用模板字符串
把整个选择器表达式用反引号包裹即可,属性值部分保留单引号符合jQuery属性选择器的语法要求:
var plusButtons = $(`.btn-plus-minus[id^='btn-plus-${match[1]}']`);
方法2:使用传统字符串拼接
如果需要兼容不支持ES6模板字符串的环境,直接用加号拼接字符串即可:
var plusButtons = $(".btn-plus-minus[id^='btn-plus-" + match[1] + "']");
方法3:基于已有集合二次筛选
如果你已经提前获取了所有前缀为btn-plus-的按钮集合,也可以用filter方法做二次筛选,逻辑更灵活易读:
// 你之前已经获取的基础按钮集合 var buttons = $(".btn-plus-minus[id^='btn-plus-']"); // 拼接要匹配的完整前缀 var targetPrefix = 'btn-plus-' + match[1]; // 筛选符合id前缀要求的元素 var plusButtons = buttons.filter(function() { return this.id.startsWith(targetPrefix); });
内容的提问来源于stack exchange,提问作者xeraphim
相关产品推荐
相关产品推荐

