如何从类似类的前一个div中获取数字并将它们添加到一起?

时间:2013-09-06 05:19:33

标签: jquery

当我点击一个div时,我正试图从同一个类的前一个div中获取数据。我的HTML看起来像这样。

<div class="theDiv one">
   <div class="info"> Lorem </div>
   <div class="theNumber"> 2 </div>
</div>
<div class="theDiv two">
   <div class="info"> Lorem </div>
   <div class="theNumber"> 4 </div>
</div>
<div class="theDiv three">
   <div class="info"> Lorem </div>
   <div class="theNumber"> 3 </div>
</div>
<div class="theDiv four">
   <div class="info"> Lorem </div>
   <div class="theNumber"> 1 </div>
</div>

如果我点击任何带有'theDiv'类的div,我想抓住前面包含'theDiv'类的div中的数字,并将它们加起来。例如,如果我点击了第三个div,我的总和将是6.

我对如何优雅地做到这一点感到茫然,而不是仅仅通过每个div的if语句来遍历它。

2 个答案:

答案 0 :(得分:2)

尝试:

$(document).ready(function(){
    $(".theDiv").click(function(){
        var sum = 0;
        $(this).prevAll(".theDiv").find(".theNumber").each(function(){
            sum += parseInt($(this).text(), 10);
        });
                    alert(sum);
    });
});

DEMO FIDDLE

答案 1 :(得分:1)

你走了:(DEMO

$(".theDiv").click(function () {
    var sum = eval($(this).prevAll()
        .find(".theNumber").text().split("").join("+") || 0);

    alert(sum);
})