Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Ostatni LI na liscie z innym stylem
Forum PHP.pl > Forum > Po stronie przeglądarki
windman
Witam,

Zrobilem menu na zasadzie poziomej listy <li>.
Chce pomiedzy linkami (czyli pomiedzy kazdym elementem <li> wstawic pionowa kreske oddzielajaca (jako grafika).
Liczba punktow LI jest nieznana (menu zmienia sie dynamicznie).
Problem w tym jezeli zrobie odpowiedni styl dla LI, ktory nada mu ta kreske jako tlo z prawej strony to pojawi sie ta kreska tez za ostatnim elementem LI, a nie powinna!
Ktos ma pomysl?

Pozdrawiam
nospor
to nadaj inny styl dla tego ostatniego li. Przeciez gdy generujesz te li to wiesz ktory jest ostatni
revyag
No to zrób prosty warunek w szablonie, bo zakładam że menu masz generowane dynamicznie, który będzie nadawał klasę css bez obrazka elementowi li i tyle.
  1. <li></li>
  2. <li></li>
  3. <li></li>
  4. ....
  5. <li class="last"></li>
windman
Cytat(nospor @ 2.09.2008, 11:24:50 ) *
to nadaj inny styl dla tego ostatniego li. Przeciez gdy generujesz te li to wiesz ktory jest ostatni

Niejasno się wyraziłem...
Gdybym generował te li w php to nie ma problemu.
Robie to na jakimś cmsie z własnym językiem skryptowym, którego nie znam.

Wymyśliłem to tak, że policzę ile jest LI, i do ostatniego zmienię styl.
Policzyć LI to nie problem:

document.getElementById('to jest id mojego UL').getElementsByTagName('li').length

wiem już ile mam LI, jak teraz wskazać na ostatni, czyli
mojeLi.style. .....

chodzi mi o "mojeLi"

No chyba, że można to inaczej rozwiązać.
batman
Jest inny sposób, ale nie będzie działać w każdej przeglądarce: last-child. A jeśli chcesz się bawić w javascript to polecam jQuery. W bardzo prosty sposób możesz nadać styl do konkretnego elementu.
Kod
$("#twoja_lista_ul li:last").addClass("twoja_klasa");
windman
Zrobiłem tak:

  1. <?php
  2. var all_li=document.getElementById('mojeul').getElementsByTagName('li');
  3. all_li[all_li.length-1].style.color="red";
  4. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.