Próbuję użyć jQuery do otwierania/zamykania kontrolek "skrzynek" na stronie internetowej. Niestety, zamknięcie pudełka nie jest zbyt dobre, aby ponownie je otworzyć, gdy użytkownik kliknie na już otwarte okno. (Pola wzajemnie się wykluczają).Jak porównać dwa obiekty jQuery dla tożsamości?
Kod, którego używam, nie działa i nie jestem pewien dlaczego. Nadal zamykam pudełko, żeby otworzyć się na nowo, co nie jest pożądaną funkcjonalnością. Stworzyłem zmienną "val" do celów debugowania; w debuggerze pokazuje 'val' jako mający dokładnie taką samą wartość jak $ (this), co powinno uniemożliwić mu dostanie się do .slideToggle()
wewnątrz instrukcji if, ale tego nie robi.
function openBox(index)
{
val = $('#box' + index);
$('.profilePageContentBox').each(function(){
if($(this).css('display') != 'none')
{
if($(this) != val)
{
$(this).slideToggle(200);
}
}
});
val.slideToggle(200);
}
Czasami warto też spojrzeć na to: http://stackoverflow.com/questions/2436966/how-would-you-compare-jquery-objects – GnrlBzik