JSFiddle - React, Tailwind, and code Playground
by Thiago Diniz
HTML
<div class="item">
<span class="shelf-best-price" itemprop="price">R$ 498,90</span>
<p class="flag desconto-a-vista-10-">Desconto à vista 5%</p>
<div class="novo-preco"></div>
</div>
<div class="item">
<span class="shelf-best-price" itemprop="price">R$ 1.498,90</span>
<p class="flag desconto-a-vista-10-">Desconto à vista 10%</p>
<div class="novo-preco"></div>
</div>
JavaScript
document.getElementsByClassName('item')[0].forEach(function(comment) {
var price = this.getElementsByClassName('shelf-best-price')[0].innerText.replace(/[\D]+/g,'');
var priceFloat = parseFloat(price);
var discount = this.querySelectorAll('.flag[class*="desconto-a-vista"]')[0].innerText.replace(/[^0-9]/g, '');
var subTotal = priceFloat * discount / 100;
var total = Math.ceil(price - subTotal);
total = (total + '').replace(/([0-9]{2})$/g, ",$1");
if (total.length > 6) {
total = total.replace(/([0-9]{3}),([0-9]{2}$)/g, ".$1,$2");
}
document.getElementsByClassName('shelf-best-price')[0].textContent = discount
}