[jQuery] jak "złapać" najbliższy element w kontenerze z klasą? |
[jQuery] jak "złapać" najbliższy element w kontenerze z klasą? |
21.03.2018, 08:13:14
Post
#1
|
|
Grupa: Zarejestrowani Postów: 173 Pomógł: 1 Dołączył: 26.10.2005 Skąd: Toruń Ostrzeżenie: (0%) |
Witam, mam menu w postaci jak poniżej:
Kod jQuery:
oraz kod css:
Nie wiem jak sprawić by naciśnięcie odnośnika A, który znajduje się wewnątrz <li></li> z klasą .menu-item-has-child spowodowało pokazanie podmenu z klasą .sub-menu, które znajduje się w bezpośrednim sąsiedztwie, tak bym mógł otwierać kolejne zagnieżdzęnia. Od razu uprzedzam dociekliwych: jestem noga z JS i jQuery :/ więc jeśli zobaczycie coś dziwnego w kodzie, to jest to wynik mojej niewiedzy. |
|
|
21.03.2018, 08:23:15
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Po prostu
Ale dlaczego używasz <a> do otwierania podmenu? Kliknięcie dodawaj bezpośrednio na <li> i również w nim zawrzyj tekst, który obecnie jest w linku. -------------------- |
|
|
21.03.2018, 08:43:44
Post
#3
|
|
Grupa: Zarejestrowani Postów: 173 Pomógł: 1 Dołączył: 26.10.2005 Skąd: Toruń Ostrzeżenie: (0%) |
nie mogę na <li> dlatego, że mam menu wielopoziomowe. i ponowne kliknięcie w element o klasie .menu-item-has-child powoduje zwinięcie tego co przed chwilą rozwinąłem. Dlatego musiałem się ograniczyć do <a> który swym zasięgiem nie obejmuje kolejnych .sub-menu. Nie wiem czy dobrze wytłumaczyłem...
Jeśli któryś element <li> na najwyższym poziomie ma klasę .menu-item-has-children, to kliknięcie w niego powoduje rozwinięcie .submenu, które znajduje się w nim. I teraz, jeśli w tym submenu kolejny element <li> ma klasę .menu-item-has-children to chciałbym móc je rozwinąć, niestety klikając w niego klikam jednocześnie w cały <li> nadrzędny z pierwszego poziomu, co skutkuje owszem rozwinięciem tego co chce, ale jednocześnie zwijam element nadrzędny... https://codepen.io/siutek/pen/EEWLRr |
|
|
21.03.2018, 09:58:10
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 761 Pomógł: 1822 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
-------------------- |
|
|
21.03.2018, 10:33:24
Post
#5
|
|
Grupa: Zarejestrowani Postów: 173 Pomógł: 1 Dołączył: 26.10.2005 Skąd: Toruń Ostrzeżenie: (0%) |
@trueblue usunąłeś linka <a>posiada podmenu</a>, a ja niestety nie mogę tak zrobić, gdyż wykonuję te wszystkie operacje na menu wygenerowanym przez wordpressa, w którym A będzie zawsze (bez większej rzeźby), bez względu na to czy ma podmenu czy nie.
|
|
|
21.03.2018, 10:38:43
Post
#6
|
|
Grupa: Zarejestrowani Postów: 859 Pomógł: 177 Dołączył: 29.10.2009 Ostrzeżenie: (0%) |
https://jsfiddle.net/0p7wm7s2/7/
lub https://jsfiddle.net/0p7wm7s2/9/ Ten post edytował aras785 21.03.2018, 10:41:14 |
|
|
21.03.2018, 11:37:45
Post
#7
|
|
Grupa: Zarejestrowani Postów: 173 Pomógł: 1 Dołączył: 26.10.2005 Skąd: Toruń Ostrzeżenie: (0%) |
pierwszy link! bingo! działą elegancko dziękuję, kłaniam się nisko |
|
|
Wersja Lo-Fi | Aktualny czas: 19.04.2024 - 12:35 |