如何仅在具有多个值的 div 中定位篮子值

How to target the basket value only in a div with multiple values

我有一段代码,我想只针对篮子总数,如果金额超过 40 欧元,我希望它打印一个字符串来说明这一点,或者如果它低于金额则打印别的。

我遇到的问题是 div 环绕购物篮总金额的部分也说明了您购物篮中的商品数量。我无法更改购物车上的现有代码,所以有没有一种方法可以仅在此 div 中定位篮子价格?

var patternPrice = /[^0-9\.]/g;  
var targetBasketTotal = document.querySelector('.cart');
var totalAmount = parseFloat(targetBasketTotal.textContent.replace(patternPrice, "")) / 100;
console.log(totalAmount);

if(totalAmount < 40) {
  targetBasketTotal.insertAdjacentHTML("afterend", "<section class='message'>Basket is less then €40</section>");
} else {
  targetBasketTotal.insertAdjacentHTML("afterend", "<section class='message'>Basket is more then €40</section>");
}
<div class="cart">10 items | €&nbsp;38,87</div>

您可以使用 split 替换 select,价格如下:

var patternPrice = /[^0-9\.]/g;  
var targetBasketTotal = document.querySelector('.cart');
var totalAmount = parseFloat(targetBasketTotal.textContent.split('|')[1].replace(patternPrice, "")) / 100;
console.log(totalAmount);

if(totalAmount < 40) {
  targetBasketTotal.insertAdjacentHTML("afterend", "<section class='message'>Basket is less then €40</section>");
} else {
  targetBasketTotal.insertAdjacentHTML("afterend", "<section class='message'>Basket is more then €40</section>");
}
<div class="cart">10 items | €&nbsp;38,87</div>

参考:

PS。显然结构必须相同