繁体   English   中英

在 GTM 中替换 div 内的文本

[英]Replacing a text inside of a div in GTM

与此问题类似,我想更改动态 div 中的一些文本。 那里的解释对我不起作用,所以我开始了一个新线程(代表太低无法评论)。 使这个 div “动态”的原因是一些脚本,它计算您需要花费多少钱(基于添加到购物车中的物品)才能获得免费送货。 我要替换的语句始终存在。 我想你可以称之为擦除文本的一部分。 :)

我的分区:

<div class="free-shipping__content">Brakuje Ci 151,00&nbsp;zł do darmowej dostawy (Paczkomaty InPost).</div>

我在 GTM 中的代码(已加载到 DOM 就绪):

<script type="text/javascript">
(function(){
  var elements = document.querySelectorALL(".free_shipping__content");    
  for (i = 0; i < elements.length; ++i) {
    var str = elements[i].innerHTML;
    elements[i].innerHTML = str.replace(" (Paczkomaty InPost)", "");
}
})();
</script>

谢谢!

周围 div 的图像

  1. 关门工作做得很好。

  2. document.querySelectorALL不是 function。 你的意思是document.querySelectorAll

  3. 另一个问题是您的 css 选择器。 您正在使用.free_shipping__content而实际的 class 名称不同。 你的选择器应该是.free-shipping__content

在这些修复之后,您的代码就可以工作了。 但是,我已经重写了它以正确测试,所以我不妨提供一个更具可读性和优雅的解决方案:

 document.querySelectorAll(".free-shipping__content").forEach(function (el) { el.innerHTML = el.innerHTML.replace(" (Paczkomaty InPost)", ""); });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM