Javascript Jquery和写入倍数div的百分比

Javascript Jquery和写入倍数div的百分比,javascript,jquery,Javascript,Jquery,我正在学习JS,我有一个关于特定情况的问题。我正在尝试计算%并使用JS在div#proc中写入。我的问题是如何使这个函数更好,以及如何使用同一类的多个div HTML <div class="wrapper"> <div class="precoCheio">400,00</div> <div class="precoDesc">150,00</div> <div id="porc"></div> &

我正在学习JS,我有一个关于特定情况的问题。我正在尝试计算%并使用JS在div
#proc
中写入。我的问题是如何使这个函数更好,以及如何使用同一类的多个div

HTML

<div class="wrapper">
  <div class="precoCheio">400,00</div>
  <div class="precoDesc">150,00</div>
  <div id="porc"></div>
</div>
<div class="wrapper">
  <div class="precoCheio">200,00</div>
  <div class="precoDesc">150,00</div>
  <div id="porc"></div>
</div>
<div class="wrapper">
  <div class="precoCheio">1000,00</div>
  <div class="precoDesc">600,00</div>
  <div id="porc"></div>
</div>
试试这个:

//在文档就绪时运行
$(函数(){
//循环遍历每个包装器
$('.wrapper')。每个(函数(){
var wrapper=$(this),//获取当前包装
cheio=wrapper.children('.preccheio'),//获取当前包装的子项'preccheio'
cheioVal=parseFloat(cheio.text().replace(/\./g,“”).replace(“,”,”),//替换所有点,然后将第一个逗号更改为点
desc=wrapper.children('.precoDesc'),//获取当前包装的子级'precoDesc'
descVal=parseFloat(desc.text().replace(/\./g,“”).replace(“,”,”),
proc=wrapper.children('.proc');//获取当前包装器的子'proc'
//你计算一下吧
var porcentagem=100-((descVal/cheioVal)*100);
//将结果放入当前进程
html(procentagem+“%OFF”);
});
});

400,00
150,00

200,00 150,00
1000,00 600,00
此外

$.fn.html也可以接受函数。像这样

function calculaPorcentagem(){
     var $wrapper = $(this).parrent();
     var precoCheio = $wrapper.find(".precoCheio").text();
     var precoDesc = $wrapper.find(".precoDesc").text();
 //here some your logic 
     precoCheio    = precoCheio.replace(".", "");
     precoCheio    = precoCheio.replace(",", ".");
     precoDesc    = precoDesc.replace(".", "");
     precoDesc    = precoDesc.replace(",", ".");
     precoDesc    = precoDesc.replace(".", "");
     precoDesc    = precoDesc.replace(",", ".");

     var porcentagem = precoDesc * 100 / precoCheio / 100;
     var porcentagem = porcentagem.toFixed(0) - 100;
        return porcentagem + ' % OFF';
    };

    $('.porc').html(calculaPorcentagem);

ID应该是唯一的,我只是在做一个例子,我用ctrl C/ctrl V控制元素。如果这只是一个例子,为什么这段代码是葡萄牙语的?无论如何,如果您是JavaScript新手,请记住在进行计算之前总是将数字文本强制转换为数字。它将帮助你避免将来的许多麻烦。也许因为我来自巴西,和蔼可亲;)哈。谢谢你的提示。我已经添加了一些评论来帮助你out@Geo基本上:对于匹配
.wrapper
的每个元素,他获取文本,将其强制为数字,计算百分比并将其写入匹配
的元素中,这是一个简单的文本,例如,一个简单的文本,一个简单的文本,一个简单的文本。(对不起,我想他很难用英语阅读,所以我用两种语言解释了)@Pete请帮我解答这个疑问:)
function calculaPorcentagem(){
     var $wrapper = $(this).parrent();
     var precoCheio = $wrapper.find(".precoCheio").text();
     var precoDesc = $wrapper.find(".precoDesc").text();
 //here some your logic 
     precoCheio    = precoCheio.replace(".", "");
     precoCheio    = precoCheio.replace(",", ".");
     precoDesc    = precoDesc.replace(".", "");
     precoDesc    = precoDesc.replace(",", ".");
     precoDesc    = precoDesc.replace(".", "");
     precoDesc    = precoDesc.replace(",", ".");

     var porcentagem = precoDesc * 100 / precoCheio / 100;
     var porcentagem = porcentagem.toFixed(0) - 100;
        return porcentagem + ' % OFF';
    };

    $('.porc').html(calculaPorcentagem);