0

したがって、クラス「answers_total」を持ついくつかの div があり、その中にはクラス「answer」と data-answer 属性を持つ 5 つの div が含まれています。

私がやろうとしているのは、「answers_total」divごとに真の合計値を抽象的に合計し、それらを変数に格納することです。したがって、ここの最初のものには 3 つの「真」があり、2 番目のものには 2 つの「真」しかありません。個々の合計にアクセスできるようにする必要がありますが、おそらくそれぞれに独自の変数がありますか? 100%確信はありません。

$(".answers_total").each でこれを行うと思います...

しかし、その後どこに行くべきかわかりません。このようなことをする方法についてのアイデアはありますか? 多分それは不可能であるか、セットアップしてこれを行うためのより良い方法がありますか?

助けてくれてどうもありがとう

<div class="answers_total">
    <div data-answer="true" class="answer">SPEECH</div>
    <div data-answer="false" class="answer">RELIGION AND BELIEF</div>
    <div data-answer="true" class="answer">PRESS</div>
    <div data-answer="true" class="answer">ASSEMBLY</div>
    <div data-answer="false" class="answer">PETITION</div>
</div>
<div class="answers_total">
    <div data-answer="false" class="answer">SPEECH</div>
    <div data-answer="true" class="answer">RELIGION AND BELIEF</div>
    <div data-answer="false" class="answer">PRESS</div>
    <div data-answer="true" class="answer">ASSEMBLY</div>
    <div data-answer="false" class="answer">PETITION</div>
</div>
4

2 に答える 2

1

配列を返すjQuery.map()関数を使用できます。次に、.lengthプロパティを使用してdata-answer=true、それぞれにいくつ存在するかを調べますdiv.answers_total

var x = $('.answers_total').map(function(i,v){
    return $('div[data-answer=true]',v).length; // return how many have data-answer=true
});

それで

x[0] = 3 // which is the relevant to the first .answers_total div
x[1] = 2 // which is the relevant to the second .answers_total div

FIDDLE

true と false の両方のカウントが必要な場合は、次のことができます

var x = $('.answers_total').map(function (i, v) {
    return {
        true: $('div[data-answer=true]', v).length,
        false: $('div[data-answer=false]', v).length
    };
});

それから

x[0].true = 3 // number of true in first div
x[0].false = 2 // number of false in first div
x[1].true = 2 // number of true in second div
x[1].false= 3 // number of false in second div

FIDDLE

于 2013-08-15T18:03:52.217 に答える