在 GTM 中替换 div 内的文本
Replacing a text inside of a div in GTM
与此类似 我想更改动态 div 中的一些文本。那里的解释对我不起作用,所以我开始了一个新线程(rep 太低无法评论)。使这个 div “动态”的是一些脚本,它计算您需要花费多少钱(基于添加到购物车的商品)才能获得免费送货。我要替换的语句始终存在。我想你可以称之为擦除文本的一部分。 :)
我的div:
<div class="free-shipping__content">Brakuje Ci 151,00 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>
谢谢!
Image of surrounding divs
闭包做得很好。
document.querySelectorALL
不是函数。你是说 document.querySelectorAll
.
另一个问题是您的 css 选择器。您使用的是 .free_shipping__content
而实际的 class 名称不同。您的选择器应该是 .free-shipping__content
在这些修复之后,您的代码可以正常工作。但是,我已经重写了它以正确测试,所以我不妨提供一个更具可读性和优雅的解决方案:
document.querySelectorAll(".free-shipping__content").forEach(function (el) {
el.innerHTML = el.innerHTML.replace(" (Paczkomaty InPost)", "");
});
与此类似
我的div:
<div class="free-shipping__content">Brakuje Ci 151,00 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>
谢谢!
Image of surrounding divs
闭包做得很好。
document.querySelectorALL
不是函数。你是说document.querySelectorAll
.另一个问题是您的 css 选择器。您使用的是
.free_shipping__content
而实际的 class 名称不同。您的选择器应该是.free-shipping__content
在这些修复之后,您的代码可以正常工作。但是,我已经重写了它以正确测试,所以我不妨提供一个更具可读性和优雅的解决方案:
document.querySelectorAll(".free-shipping__content").forEach(function (el) {
el.innerHTML = el.innerHTML.replace(" (Paczkomaty InPost)", "");
});