Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery] Problem z addClass()
Forum PHP.pl > Forum > Przedszkole
d.stp
Mam coś takiego:
  1. $('.slider_buttons li').click(function(){
  2. $(this).addClass("selected");
  3. });

html:
  1. <ul class="slider_buttons">
  2. <li><a title="">x1</a></li>
  3. <li><a title="">x2</a></li>
  4. </ul>

css:
  1. .selected {
  2. width: 134px;
  3. height: 97px;
  4. background: url('../images/slider-button-hover.png') no-repeat;
  5. }

Ale nie dodaje klasy po kliknięciu w <li>... dla pewności dodałem alert('x') i alert działa. Dlaczego addClass nie chce działać?
viking
U mnie działa. Po wykonaniu obu klików

  1. <ul class="slider_buttons">
  2. <li class="selected"><a title="">x1</a></li>
  3. <li class="selected"><a title="">x2</a></li>
  4. </ul>


Na jakiej przeglądarce? Nie robi się wcześniej przekierowanie na link?
d.stp
Dziwne... wystarczyło css zmienić na:
  1. .slider ul.slider_buttons li.selected {

i działa.

Ale mam następny problem. Teraz po kliknięciu w przycisk slidera (1,2,3,4,5...) dodaje mi klasę selected do wszystkich <li>. Jak zrobić, żeby dodawało tylko do tej klikniętej?

Wymyśliłem coś takiego:
  1. $('.slider_buttons li').click(function(){
  2. var id = $(this).attr("rel");
  3. $('.slider_buttons li').addClass("selected");
  4. });

html:
  1. <li rel="tabs1"><a>aaa</a></li>
  2. <li rel="tabs2"><a>bbb</a></li>

ale nie działa...

Dobra już działa
viking
Jeden click dodaje do jednego li. Przed klikiem usuń klasy z pozostałych elementów listy. I dobra rada. Naucz się się to robić w firebugu. Poprzednie sprawdzenie zrobiłem nie wychodząć nawet ze strony forum. W JS bardzo to życie ułatwia.
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.