3

脚本

$("#activities").next().next().each(function(i) { });

html

<div class="head" id="activities" >Activities</div>
<div class="sub-head"> <span class="title">Activity</span> <span class="value">Min</span> <span class="unit">Calories</span> </div>
<div class="rows"> <span class="title">bicycling</span> <span class="value">30</span> <span class="unit">174</span> </div>
<div class="rows"> <span class="title">fishing and hunting</span> <span class="value">30</span> <span class="unit">261</span> </div>
<div class="rows"> <span class="title">transportation</span> <span class="value">30</span> <span class="unit">261</span> </div>
<div id="activitiesData"></div>

jqueryでeachを使用して、このdivからデータを取得するのを手伝ってもらえますか?

4

4 に答える 4

4

これはそれを行う必要があります:

var sum = 0;
$('#activities').nextAll('.rows').find('.value').each(function() {
    var n = parseInt($(this).text(), 10); 
    if (!isNaN(n)) sum += n; 
});
于 2012-07-23T08:13:50.717 に答える
3

複数の方法.rowsを使用して DOM をトラバースする代わりに、要素を直接選択できます。次のことを試してください。next()

var sum = 0;  
$(".rows .value").each(function(){
       var val = parseInt($(this).text(), 10)
       if (!isNaN(val)) {
            sum += val
       }          
})   

デモ

于 2012-07-23T08:13:20.000 に答える
2

解決方法はこちらをご確認ください。

$('#GetTitles').click(function(){
    $('div.rows .title').each(function(){
        alert($(this).text());
    });
});

JSFiddle サンプル ソリューション

于 2012-07-23T08:18:15.300 に答える
1

配列内の個々の値を取得するには:

var values = $(".value", ".rows").map(function(i, e) {
    return parseInt(e.innerHTML, 10);
})​;

フィドル

値の合計を取得するには

var value = 0;
$.each($(".value", ".rows"), function(i,e) {
    value += parseInt(e.innerHTML, 10);
});

フィドル

于 2012-07-23T08:21:21.467 に答える