В прошлой веб-разработке я всегда пытался спуститься с id при создании селектора в javascript, ранее в jQuery и совсем недавно, используя document.querySelector() /. QuerySelectorAll(). Это было по соображениям производительности. Я следил за советами в таких сообщениях (http://www.artzstudio.com/2009/04/jquery-performance-rules/#descend-from-id).Являются ли классы индексированными в современных браузерах?
Например:
$('#new-address-form input.address')
может быть значительно быстрее, чем
$('.address')
Даже когда там был только один элемент на странице с классом адреса. Если в DOM было много разных классов, это могло бы быть много быстрее в некоторых браузерах (я смотрю на вас IE < 8).
Но, по опыту, сегодня кажется, что это уже не так. Может ли кто-нибудь указать мне на какую-либо документацию или код для браузеров с открытым исходным кодом, что бы подтвердить, что современные браузеры индексируют элементы по классам?
$ ("# ID") найти ("класс."). должен быть еще быстрее – Enrico
ну, в IE8 и ниже не было документа document.getElementsByClassName, поэтому до IE9 было быстрее его фильтровать. в IE7 также не было запросаSelectorAll, так что это было еще хуже. Очевидно, что, когда браузеры были обновлены и улучшены, их методы стали более эффективными, то же самое с каждой версией jQuery.На данный момент нет никаких оснований думать о производительности, пока у вас не возникнет проблема с производительностью, вместо этого возьмите более читаемый/поддерживаемый маршрут. –