获取元素的内容和值的输出百分比到兄弟元素

时间:2014-07-16 00:39:16

标签: javascript jquery

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

这些元素没有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中的xx个月内返回22.5英镑的差价。

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

我还需要将结果数字提取到两位小数。我知道我应该使用.toFixed(2)但我不太确定应该如何在这里应用。

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:1)

如果我理解正确,你想用课程设置每个div&#34; offer&#34;。 您可以按如下方式执行此操作:

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

此代码循环遍历所有div,类为#34; offer&#34;。 我希望这会对你有所帮助。