首页 > 解决方案 > 在 Shopify 购物车页面上用 Javascript 替换文本

问题描述

在这家商店 - https://commonfibers.com/cart - 有一个私人应用程序正在为某些产品创建订单项属性。示例 - https://gyazo.com/aa86c0696b406e5c128df7640f353c7f

我想清理订单项属性的显示。因此,此文本:Art: 'Art - Blank (e9bd8c48c4134298bb9013bb595d8c6b)' 将改为:Art: 'Art - Blank'

我创建了这个 .liquid 文件:

<script>

  document.addEventListener('DOMContentLoaded', function() {
    var divArt = document.getElementsByClassName('property-Art');
    var text = divArt.innerText;
    for (var i = 0; i < divArt.length; i++) {
      var text = divArt[i].innerText;
      console.log("Beginning text - " + text);
      text = text.replace(/\s*\(.*?\)\s*/g, '');
      console.log("Processed text - " + text);
      console.log("innerText - " + divArt[i].innerText);
    };
  }, false);

</script>

它的工作原理是删除不需要的内容。 我坚持的是如何将处理后的文本插入回 DOM 中,以便它显示在浏览器中。 我可以看到替换逻辑在我使用 console.log 时有效 - https://gyazo.com/6f3aed206ccd08343dc50415c8dcae01。但到目前为止,我想让它显示给用户的努力都失败了。

谢谢!

标签: javascriptshopify

解决方案


您需要将结果分配text回某些东西。尝试在函数末尾添加:

divArt[i].innerText = text;


推荐阅读