W kontenerze div#left mam kilka menu (joomla, każde ładowane dynamicznie).
Chcę zmienić tło div#left w zależności od tego jakie menu się wyświetli.
Stworzyłem taki skrypt w jquery (plugin zgodności z jquery jest):
<script type="text/javascript"> $(document).ready(function(){ if ($('ul.menu1')) //jeśli jest ul 0 clasie menu1 { $('div#left').css('background', '#165b94'); // zmień tło contenera. } else if ($('ul.menu2')) { $('div#left').css('background', '#dc8500'); } else if ($('ul.menu3')) { $('div#left').css('background', '#172e5d'); } else if ($('ul.menu4')) { $('div#left').css('background', '#ec6f00'); } }); </script>
Nie wiem, gdzie tutaj jest błąd. Normalnie tło #left nie jest ustalone.
Skrypt działa dziwnie, bo zmienia tylko 2 pierwsze menu, a każde następne ma kolor 2-ego menu...
w ie7 działał tylko do czasu, jak miałem tylko 2 menu ustalone, potem w ogóle przestał wyświetlać skrypt...
widzicie jakiś błąd? Składnie jest przecież identyczna.
Próbowałem też z takim zapisem warunku:
if if($('ul').attr('class') == 'menu1') {}; ale też to nic nie dało...
Z góry mówię, że odpada nadawanie tła każdemu menu w cssie...
Dzieki.