2012-04-12 10 views
0

私は、ページ上のすべての要素のIDと照合するCookieを設定しています。基本的には、ページ上でdomを繰り返し実行し、この要素のID値がCookieの値と一致するかどうかをチェックし、その要素に対して何かを実行します。each()を使用して要素IDのCookieと一致します

ここまでは私のコードです。

<div class="event" id="event_1"> 

</div> 

<div class="event" id="event_100"> 

</div> 

<div class="event" id="event_47"> 

</div> 

は既に設定されているクッキーがあると仮定します

event_1, event_1, 30 
event_100, event_100, 30 
event_47, event_47, 30 
$('.event').each(function() { 
    var id = $(this).attr('id'); 
    if (id == readCookie('event_'+id+'')) { 
     $(this).hide(); 
    } 

    console.log(id); 
    //returns event_1,event_100,event_47 
}); 

私はほとんどそこだと思います。私はそれがvar idと何か関係があり、配列を返すと思う。私がevent_1にハードコードすればうまくいきます。

ここで何をしていますか?おかげ

+1

あなたの避難所」であるべきだと思うそれを追加します問題について、またはなぜこれがあなたのために働かないのか教えてください。 –

+2

コードの書式設定は非常にシンプルです:コードを4つのスペースでインデントする(または選択してコードボタンをクリックしてください):http://stackoverflow.com/editing-help –

+0

すべての要素を反復処理しているなら、 $(body).each() 'を実行すると、すべての要素にクラスが追加されますか? –

答えて

3

は、あなたが収集しているIDがすでにevent_部分を持っています(たとえばevent_event_1を読み取ろうとする)クッキーを読み取ろうとするとき、私はそれが、この代わりに

if(id == readCookie(id)){ 
    $(this).hide(); 
} 
+0

+1 - 良いcatch –

+0

'readCookie'が何を知らずに、これは素晴らしい答えです。 – jbabey

+0

うわー、私はちょうど頭を叩きました。どうもありがとうございます! –

関連する問題