2012-04-12 8 views
0

Ich habe eine Reihe von Cookies gesetzt, die ich mit den IDs aller Elemente auf der Seite übereinstimmen möchte. Im Wesentlichen, beim Laden der Seite, iteriere durch dom und überprüfe, ob der ID-Wert dieses Elements mit dem Wert eines Cookies übereinstimmt und etwas mit diesem Element macht.Match-Cookie mit Element-ID mit jedem()

Hier ist mein Code so weit.

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

</div> 

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

</div> 

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

</div> 

Angenommen, es gibt Kekse bereits gesetzt:

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 
}); 

Ich glaube, ich bin fast da. Ich denke, es hat etwas mit der Var-ID zu tun und es gibt ein Array zurück. Wenn ich es in Ereignis_1 festcode, funktioniert es.

Was soll ich hier tun? Dank

+1

Sie haven sein sollte‘ Sie haben uns von dem Problem erzählt oder warum dies nicht für Sie funktioniert. –

+2

Code-Formatierung ist sehr einfach: Einrücken Sie Ihren Code um vier Leerzeichen (oder wählen Sie es und klicken Sie auf die Schaltfläche Code): http://stackoverflow.com/editing-help –

+0

Wenn Sie alle Elemente durchlaufen, warum nicht tun ein ' $ (body) .each() 'als Hinzufügen einer Klasse zu jedem Element? –

Antwort

3

Die id Sie sammeln bereits die event_ Teil noch Sie es hinzufügen, wenn das Cookie zu lesen versucht (versucht event_event_1 zum Beispiel zu lesen), ich denke, es diese stattdessen

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

+1 - Guter Fang –

+0

ohne zu wissen, was 'readCookie' tut, ist dies eine gute Antwort. – jbabey

+0

Wow, ich habe gerade einen Schlag gemacht. Ich danke dir sehr! –

Verwandte Themen