在jQuery中如何存储通配符匹配的后缀值并用于后续元素查找?
实现方案
你可以通过两步逻辑完成需求,以下是可直接运行的实现:
核心逻辑
- 点击事件触发时,先从当前点击的按钮类名中提取
country-后的国家标识 - 用提取到的标识拼接选择器,就能精准定位到对应后缀的div元素
完整代码示例
如果你的按钮可能存在多个类名(比如同时有btn、country-germany类),推荐用正则匹配的通用方案:
$("button[class^='country-']").on('click', function() { // 提取国家标识 const classStr = $(this).attr('class'); const matchRes = classStr.match(/country-(\w+)/); if (!matchRes) return; const countrySuffix = matchRes[1]; // 匹配对应div并添加类,className替换为你实际要加的类名 $(`div.country-${countrySuffix}`).addClass(className); });
如果能确定按钮仅含country-xxx单个类名,可以用更简洁的字符串拆分写法:
$("button[class^='country-']").on('click', function() { const countrySuffix = $(this).attr('class').split('country-')[1]; $(`div.country-${countrySuffix}`).addClass(className); });
比如你点击country-germany的按钮时,上述代码会提取到germany作为后缀,最终选择器会精准匹配所有class为country-germany的div元素。
内容的提问来源于stack exchange,提问作者Dalen
相关产品推荐
相关产品推荐

