Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JS][JQuery] Wykrywanie właściwego kontenera
Forum PHP.pl > Forum > Po stronie przeglądarki
KotWButach
Witam
Mam do was takie dość użyteczne pytanie może pomożecie i wprowadzicie mnie na wyższy poziom.

Powiedzmy że mamy jakiś komponent ten komponent jest od siebie niezależny oraz występuje na stronie kilka razy.

  1.  
  2. <div class="component">
  3. <!-- cała maszyneria komponentu -->
  4. </div>
  5.  
  6. <div class="component">
  7. <!-- cała maszyneria komponentu -->
  8. </div>
  9.  
  10. <div class="component">
  11. <!-- cała maszyneria komponentu -->
  12. </div>
  13.  


Do tej pory by odróżnić je od siebie tak by akcja np: hide, ajax itd wykonywała się tylko dla wybranego używałem indywidualnego id. Moje pytanie brzmi czy div sam w sobie posiada jakiś unikalny kod? Który po przeładowaniu strony nadal by pozostawał gdyż część danych trzymana jest po stronie serwera w plikach tymczasowych trzyma tam się wszystkie ustawienia które są pobierane po przeładowaniu strony. Nie jest to też get ale informacje przesyłane są z komponentów metoda post.
Turson
Elementy mają unikalny index, czyli numerek, który element to jest po kolei.
trueblue
A sam komponent (nie DIV) ma jakiś identyfikator, np. id w bazie danych? Jeśli tak, to użyj jego.
KotWButach
Wszystko jest dość dynamiczne istnieje możliwość że komponenty zostaną przestawione kolejnością.
mrWodoo
Cytat(KotWButach @ 17.07.2014, 10:32:18 ) *
Wszystko jest dość dynamiczne istnieje możliwość że komponenty zostaną przestawione kolejnością.


TO nie PROBLEM, trueblue napisał jak masz sobie z tym poradzić
Pyton_000
Napisz szerszy kontekst pytania. Co chcesz osiągnąć.

Bo odwołując się w jQ np.:
Kod
$('.component').on('click',function() {
    $(this).... //
});

W this masz aktualnie kliknięty komponent
by_ikar
Możesz też użyć dodatkowych klas, które będą działać na podobnej zasadzie co ID, no ale ID nie będą:

  1. <div class="component first">
  2. <!-- cała maszyneria komponentu -->
  3. </div>
  4.  
  5. <div class="component second">
  6. <!-- cała maszyneria komponentu -->
  7. </div>
  8.  
  9. <div class="component third">
  10. <!-- cała maszyneria komponentu -->
  11. </div>


no a potem w css możesz użyć tego tak:

Kod
.component.first {
    //something
}


lub w jquery:

Kod
$('.component.first').on('click',function() {
    $(this).... //
});


Lub zostaje ci nth-child, oraz jak koledzy wyżej napisali index.
KotWButach
Dziękuje wam za odpowiedzi. Dzięki temu wiem że robię poprawnie oraz że można by to zmienić bez ID na wyszukiwaniu <sekction>
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.