Co jest bardziej skuteczny sposób, aby uzyskać element według ID (jeśli jego identyfikator jest wyjątkowy)?

#id

Lub

#div1 #id

Lub

span#id

I dlaczego?

Czy mógłbyś mi powiedzieć, gdzie mogę przeczytać o takich rzeczach? (Jak skorzystać z selektorów jQuery szybciej i skuteczniej i Dlaczego dokładnie tak )

Dziękuję Ci!

0
murrometz 24 październik 2011, 21:05

6 odpowiedzi

Najlepsza odpowiedź

#id // Najbardziej skuteczny sposób na uzyskanie elementu przez identyfikator w jQuery

Identyfikator elementów HTML mają być wyjątkowe i z powodu tego jQuery wykorzysta document.getElementById() zamiast document.getElementsByTagName() i itera, choć szereg elementów poszukujących poprawny.

2
John Hartsock 24 październik 2011, 17:11
#id

Dlaczego? Ponieważ nie wygląda na inne warunki, aw każdym razie #id powinien być tylko jeden, więc nie robi (w wielu przypadkach) sense użyć span#id

2
genesis 24 październik 2011, 17:07

Tylko Identyfikator jest lepszy po prostu dlatego, że kod musi szukać jednego elementu.
Zobacz ten test, który przetwarza to http://jsperf.com/id-vs-tag -Id.

1
Simon Arnold 24 październik 2011, 17:12

Selektory CSS (Aswell jako sizzle , rzecz w jQuery, która robi zadanie zapytania)

Prawo do lewej

Wiedząc, że możesz łatwo odpowiedzieć na pytanie. Właśnie zapytanie o #id jest zawsze najszybszym rozwiązaniem. Nie tylko z powodu, że więcej oświadczeń po tym, jak zostałby zapytany pierwszy, ale także jQuery optymalizuje tę sprawę dla Ciebie. Oznacza to, że tylko selektor taki jak #id bezpośrednio wywołałby .getElementById(), co jest najszybszą możliwą obsługą DOM, aby uzyskać odniesienie do elementu.

Jednak szybciej nie jest zbyt przesadzony w innych przypadkach. To ze względu na prawo prawo do opuszczenia .

1
jAndy 24 październik 2011, 17:12

Z jQuery jest bardzo łatwy do użycia $("#theId") Bo wszystkie jego szukanie jest wyjątkowy identyfikator, zamiast szukać innych warunków, takich jak identyfikator rodzica

0
Laurence Burke 24 październik 2011, 17:07

#id jest najszybszy, ponieważ jest wyjątkowy.

Nie wiem, gdzie możesz to przeczytać, ale tutaj jest strona, na której możesz przetestować i benchmark selektory:

Selektory benchmarku.

0
sharpner 24 październik 2011, 17:09