获取元素的内容并将值的百分比输出到同级元素中

Get content of element and output percentage of value into sibling element

本文关键字:元素 输出 百分比 获取      更新时间:2023-09-26

我有一个包含一系列带有价格的产品的页面。在这些价格旁边的兄弟元素中,我需要输出原始价格的百分比值以及一些解释性报价文本。

元素没有id只是为了增加复杂性。

我的代码示例如下…

<div class="info">
    <div class="figure">£<span>300.00</span></div>
    <div class="offer"><!--percentage goes here--></div>
</div>
<div class="info">
    <div class="figure">£<span>450.00</span></div>
    <div class="offer"><!--percentage goes here--></div>
</div>

到目前为止,我的jquery是这样的…

var str = $( ".figure span" ).text();
$(".offer").html( str/100*5 ).prepend ("£").append( " spread over xx months" );

这将在'offer'div中正确返回22.5英镑,分xx个月。

如果我只在页面上使用一次,这很好,但是它会在页面上重复不同的数字,当我这样做时,百分比将不输出。所以我的问题是如何让它在重复元素上工作。

我还需要将结果数字精确到小数点后两位。我知道我应该使用。tofixed(2),但我不太确定应该如何在这里应用

下面是一个演示http://jsfiddle.net/4wXN7/2/

对于每个info图,获取其值并将其应用于下一个兄弟offer

$('.info .figure').each(function(){
    var str = $(this).text().replace('£','');
    $(this).next().html( (str/100*5).toFixed(2) ).prepend ("£").append( " spread over xx months" );
});

如果我理解正确的话,你想用类"offer"来设置每个div。你可以这样做:

$('.offer').each(function() {
    // do your stuff here
    $(this).text('Put your value here');
});

这段代码循环使用类"offer"遍历所有div。我希望这对你有帮助。