我有一个页面,其中包含一系列价格合理的产品。在兄弟元素中的这些价格旁边,我需要输出原始价格的百分比值以及一些解释性的报价文本。
这些元素没有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)但我不太确定应该如何在这里应用。
答案 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;。 我希望这会对你有所帮助。