Parcourez plusieurs éléments et calculez la remise de prix pour chaque élément
P粉506963842
2023-09-02 17:14:31
<p>J'essaie de trouver la différence en pourcentage entre l'ancien prix et le nouveau prix pour chaque <code><div></code>. Actuellement, mon code n'obtient que la différence en pourcentage du premier <code><div></code> et boucle la même différence en pourcentage avec le <code><div></code> ;milieu restant. Quelqu'un sait-il comment mettre à jour ce code pour cibler chaque <code><div></code> au lieu de simplement parcourir le premier ? Je souhaite implémenter cette fonctionnalité en utilisant du JavaScript pur, aucun jQuery requis. </p>
<p>
<pre class="brush:js;toolbar:false;">const priceDifference = () =>
const regPrice = document.querySelector('.old').innerText;
const salePrice = document.querySelector('.new').innerText;
const priceNumReg = parseFloat(regPrice.substring(1));
const priceNumSale = parseFloat(salePrice.substring(1));
const finalPrice = priceNumReg - priceNumSale ;
const pourcentage = document.querySelectorAll('.percentage');
const pour cent = (finalPrice / priceNumReg) * 100 ;
pour (i = 0; i < pourcentage.longueur; i++) {
if (percentage[i].textContent.trim() === '') {
percent[i].textContent += ' (' + percent.toFixed(0) + '% OFF)';
}
}
} ;
priceDifference();</pre>
<pre class="brush:html;toolbar:false;"><div class="price">
<div class="old">14,00 $</div>
<div class="new">6,00 $</div>
<div class="pourcentage"></div>
</div>
<div class="prix">
<div class="old">12,00 $</div>
<div class="nouveau">5,00 $</div>
<div class="pourcentage"></div>
</div>
<div class="prix">
<div class="old">18,00 $</div>
<div class="nouveau">3,00 $</div>
<div class="pourcentage"></div>
</div></pre>
</p>
Vous devez parcourir la gamme de chacun
.price
元素,而不是每个.percentage
,因为你试图执行的每个单独的计算都是基于一个单独的<div class="price">
.Effectue tous les calculs à l'intérieur de la boucle, c'est-à-dire l'un des
priceElement
(它是你的<div class="price">
éléments actuels).Vous pouvez maintenant utiliser
priceElement.querySelector
,而不是document.querySelector
.document.querySelector
在整个文档中找到第一个匹配的元素,而priceElement.querySelector
将在该范围内找到第一个匹配的元素:priceElement
.La fonction ressemble donc davantage à ceci :
Ce code est valide, mais il y a encore du travail à faire, comme manquer
i
的声明和innerText
vs.textContent
, mais ce code peut aussi être raccourci comme ceci :