我试图在页面上找到一个特定的产品名称,如果匹配,那么我想在这个名称的末尾添加“-10%折扣”。
我的问题是在括号中的产品名称末尾“(1+1)”如何将其包含在变量中 findCopy
因此,我的结果将是:“产品名称(1+1)-10%折扣”
var findCopy = 'Product Name';
// The below is what I'm trying to achieve to get
// var findCopy = 'Product Name (1+1)';
var targetThis = document.querySelector('.copy');
targetThis.innerText = targetThis.textContent.replace(new RegExp(findCopy), findCopy + ' - 10% Discount');
<p class="copy">Product Name (1+1)</p>
3条答案
按热度按时间yeotifhr1#
主要基于alireza ahmadi解决方案,但允许您同时更改多个产品:
ryoqjall2#
你知道产品名称吗
Product Name (1+1)
,因此需要找到具有相同值的标记,然后将其追加- 10% Discount
```var findCopy = 'Product Name (1+1)';
// The below is what I'm trying to achieve to get
// var findCopy = 'Product Name (1+1)';
var targetThis = [...document.querySelectorAll('.copy')].filter(tag => tag.textContent.includes(findCopy))[0]
targetThis.innerText = targetThis.textContent + ' - 10% Discount';
erhoui1w3#
我不知道您是否可以使用jquery。在这里,我使用jquery实现了一个解决方案。当然,它适用于多种情况
并改变它们
html:
js代码:
最后,它将更改如下内容:
产品名称1-10%折扣
产品名称2
产品名称3
产品名称1 de-10%折扣