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

如何检查元素是否包含指定属性值 混合Liquid与JS的判断失效如何解决

问题排查结果

共有3处问题导致判断失效:

  • 选择器语法错误:jQuery属性选择器未闭合,你写的$(a[class='hidden_wrap'][data-handle='${handle}')缺少对应]`,语法错误直接导致选择器无法正常工作
  • 属性值存在冗余字符:a标签的data-handle属性值末尾带了换行符,实际存储值为copy-of-joory-earrings-tiger-eye-gold\n,和Liquid输出的无换行的product.handle字符串不匹配
  • 类名匹配逻辑不合理:使用[class='hidden_wrap']匹配类名,仅当元素class属性完全等于该字符串时才能命中,存在其他类名、多余空格时都会匹配失败,推荐直接使用类选择器.hidden_wrap
修复方案
  1. 先删除a标签data-handle属性值末尾的换行,确保属性值是纯文本无多余空白字符
  2. 替换JS代码为修正后的版本:
<script>
var handle = "{{product.handle}}";
// 可新增trim处理,避免两边多余空格影响匹配
if ($(`a.hidden_wrap[data-handle='${handle.trim()}']`).length > 0) {
  alert("found");
} else {
  alert('not found');
}
</script>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 05:27:00