Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wydajność selektorów
erix
post
Post #1





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ostatnimi dniami chyba panuje wysyp moich trudnych pytań, na które mało kto zna odpowiedzi, ale co tam. (IMG:style_emoticons/default/biggrin.gif)

Mianowicie, mam element w DOM:
Kod
body
-- tag
---- tag2
------ #ident


Czy uszczegółowanie selektora do postaci:
  1. body > tag > tag2 > #ident

będzie lepiej rzutować na wydajność aniżeli samo:
  1. #ident

?

Z tego, co wiem, to ponoć ten drugi wystarczy, ale przyznam, że nie znam budowy engine'ów przeglądarek do wyszukiwania po DOM, dlatego pytam. (IMG:style_emoticons/default/winksmiley.jpg) Przegoogle'owując przy okazji, oczywiście. Ale opiniami praktyków nie pogardzę.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Crozin
post
Post #2





Grupa: Zarejestrowani
Postów: 6 476
Pomógł: 1306
Dołączył: 6.08.2006
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Może zacznijmy od tego, że wydajności selektorów z pierwszego postu nie powinno się porównywać, ponieważ... są to dwa różne selektory (tj. wyłapują one inne elementy).

Co prawda nie mam tutaj nic na poparcie poniższej tezy (nawet nie jestem w pełni przekonany jej słuszności), ale z tego co się orientuję przeglądarki zapisują sobie swego rodzaju referencje do elementów posiadających identyfikatory (mowa oczywiście o dokumentach HTML) celem szybszego dotarcia do nich. Tak więc drugi selektor wymagałby jedynie odnalezienia odpowiedniej referencji, pierwszy natomiast dodatkowo wymagałby sprawdzenia czy reszta warunków selektora pasuje. Nie jestem jednak pewien czy taki mechanizm ma miejsce w przypadku CSSa (tutaj powód: http://www.jsfiddle.net/Gwr9E/ )
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 13.10.2025 - 11:24