当我点击一个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语句来遍历它。
答案 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);
})