/ Как се различават характеристиките на селекторите на jQuery от тези на CSS селекторите? - jquery, css, jquery-селектори, css-селектори

Как характеристиките на jQuery се различават от тези на селекторите на CSS? - jquery, css, jquery-selectors, css-селектори

Вчера се натъкнах на добавката на Google Page Speed ​​за Firebug. Страницата за използване на ефективни CSS селектори, за които се казва, че не използват overqualified селектори, т.е. използване #foo вместо div#foo, Мислех, че последното ще бъде по-бързо, но Google казва другояче и кой съм аз, за ​​да се противопоставя на това?

Така че се чудех дали същото се отнася и за селекторите jQuery. Тази страница Намерих връзката на SO казва, че трябва да използвам $("div#foo"), което правех през цялото време, тъй като си мислех, че нещата ще се ускорят чрез ограничаване на селектора да съвпадне div само елементи. Но наистина ли е по-добре от писането $("#foo") както казва Google за CSS селекторите, или CSS срещу jQuery съвпадение на елементите работят по различни начини и трябва да се $("div#foo")?

Отговори:

5 за отговор № 1

$("#foo") по-добре е от $("div#foo")

Тъй като id е уникален в документа, не трябва да го поставяте с име на маркер.

Ето хубава връзка

jQuery Правила за ефективност


1 за отговор № 2

Двигателят Sizzle Selector прави разбор на селекторите отдясно наляво.

Използвайте идентификатори колкото можете, за да подобрите производителността.


1 за отговор № 3

Колкото по-специфичен е селекторът, толкова по-бързо Sizzle (механизъм за избор на jQuery) намира този обект.

Причина: getElementsByTagName се използва за ограничаване на търсенето до няколко случая.

Но това не важи за уникалните имена!