Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript] Ścieżka do elementu
Forum PHP.pl > Forum > Przedszkole
Fred1485
Hej,

Czy to w czystym JS, czy jQ pobierając odpowiedni węzeł dokumentu jest jakiś "standard" podawania "ścieżki" do danego elementu, np.

  1. <div id="div">
  2. <ul>
  3. <li>
  4. <a class="klasa">blabla</a>
  5. </li>
  6. </ul>
  7. </div>


Przykładowo,
  1. var d = $("#div ul li a.klasa");
  2.  
  3. //vs
  4.  
  5. var d = $("#div .klasa");
  6.  
  7. //czy jakikolwiek inny sposób


Wiadomo, wynik będzie taki sam, czy to zależy tylko i wyłącznie od widzimisie programisty, czy sobie całą "ścieżkę" poda czy jak to jest?
Comandeer
Z racji tego, że są to selektory CSS, to obowiązują tu takie same zasady, co tam. Więc jeśli .klasa występuje jedynie w #div, to najbardziej poprawnym zapisem będzie .klasa (największa wydajność).
Fred1485
Czyli coś w stylu najmniejszej linii oporu tongue.gif
Comandeer
Raczej ograniczanie pracy dla parsera CSS wink.gif Pamiętaj, że selektory są czytane od prawej do lewej, zatem selektor #div ul li a.klasa implikuje takie działanie:
  1. Znajdź wszystkie elementy o klasie .klasa
  2. Zostaw tylko te, które są równocześnie linkami
  3. A teraz dodatkowo wywal wszystkie linki, których przodkiem nie jest li
  4. A teraz wywal wszystkie linki, których przodek li nie jest potomkiem ul
  5. Na koniec sprawdź czy na pewno całość jest wsadzona w #div


A selektor .klasa wykonuje aż jeden krok z tej listy.
Fred1485
No właśnie chodziło mi o to, żeby jak tylko się da dawać najmniej do "czytania". Już wiem co i jak.
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.